8
n8n 한국어amn8n.com

Google Gemini를 사용한 Jotform 응답 주제 및 감정 자동 추출

중급

이것은자동화 워크플로우로, 14개의 노드를 포함합니다.주로 Code, Merge, Aggregate, GoogleSheets, JotFormTrigger 등의 노드를 사용하며. Google Gemini를 활용한 Jotform 응답 주제 및 감정 자동 추출

사전 요구사항
  • Google Sheets API 인증 정보
  • Google Gemini API Key

카테고리

-
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "id": "s9tAZpHcsRFJjK3A",
  "meta": {
    "instanceId": "885b4fb4a6a9c2cb5621429a7b972df0d05bb724c20ac7dac7171b62f1c7ef40",
    "templateCredsSetupCompleted": true
  },
  "name": "Automatic Topic & Sentiment Extraction from Jotform Responses with Google Gemini",
  "tags": [
    {
      "id": "ddPkw7Hg5dZhQu2w",
      "name": "AI",
      "createdAt": "2025-04-13T05:38:08.053Z",
      "updatedAt": "2025-04-13T05:38:08.053Z"
    },
    {
      "id": "ZOwtAMLepQaGW76t",
      "name": "Building Blocks",
      "createdAt": "2025-04-13T15:23:40.462Z",
      "updatedAt": "2025-04-13T15:23:40.462Z"
    },
    {
      "id": "Kujft2FOjmOVQAmJ",
      "name": "Engineering",
      "createdAt": "2025-04-09T01:31:00.558Z",
      "updatedAt": "2025-04-09T01:31:00.558Z"
    }
  ],
  "nodes": [
    {
      "id": "36ae4c6f-049d-475c-af85-9cca6affc769",
      "name": "Google Gemini 채팅 모델",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        -32,
        320
      ],
      "parameters": {
        "options": {},
        "modelName": "models/gemini-2.0-flash-exp"
      },
      "credentials": {
        "googlePalmApi": {
          "id": "YeO7dHZnuGBVQKVZ",
          "name": "Google Gemini(PaLM) Api account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "8c3ecf36-96e7-4dfc-9ec2-0cf2d0425139",
      "name": "감정 분석기",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        0,
        104
      ],
      "parameters": {
        "text": "=Perform sentiment analysis of the following {{ $json.body }} \n",
        "batching": {},
        "messages": {
          "messageValues": [
            {
              "message": "You are an expert sentiment analyzer"
            }
          ]
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.7
    },
    {
      "id": "8fdec511-d900-41a4-bf79-295a620f0b4e",
      "name": "구조화된 출력 파서",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        208,
        320
      ],
      "parameters": {
        "schemaType": "manual",
        "inputSchema": "\n{\n  \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n  \"title\": \"Feedback Sentiment Output Schema\",\n  \"description\": \"Schema for parsing AI sentiment analysis results from customer feedback submissions.\",\n  \"type\": \"object\",\n  \"properties\": {\n    \"customer_name\": {\n      \"type\": \"string\",\n      \"description\": \"Name of the customer submitting feedback.\"\n    },\n    \"customer_email\": {\n      \"type\": \"string\",\n      \"description\": \"Email of the customer submitting feedback.\"\n    },\n    \"feedback_text\": {\n      \"type\": \"string\",\n      \"description\": \"Raw feedback text provided by the customer.\"\n    },\n    \"sentiment\": {\n      \"type\": \"string\",\n      \"enum\": [\"positive\", \"neutral\", \"negative\"],\n      \"description\": \"Predicted sentiment label of the feedback.\"\n    },\n    \"confidence_score\": {\n      \"type\": \"number\",\n      \"minimum\": 0,\n      \"maximum\": 1,\n      \"description\": \"Model confidence score for the sentiment classification (0-1).\"\n    },\n    \"key_phrases\": {\n      \"type\": \"array\",\n      \"items\": { \"type\": \"string\" },\n      \"description\": \"Important keywords or topics extracted from the feedback.\"\n    },\n    \"summary\": {\n      \"type\": \"string\",\n      \"description\": \"A short AI-generated summary of the feedback.\"\n    },\n    \"alert_priority\": {\n      \"type\": \"string\",\n      \"enum\": [\"high\", \"medium\", \"low\"],\n      \"description\": \"Priority level for team alerting based on sentiment and urgency.\"\n    },\n    \"timestamp\": {\n      \"type\": \"string\",\n      \"format\": \"date-time\",\n      \"description\": \"Time when the feedback was received.\"\n    }\n  },\n  \"additionalProperties\": false\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "ec24ab03-ffdd-412b-a66f-4b3d6bb04edd",
      "name": "시트에 행 추가 또는 업데이트",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        880,
        -112
      ],
      "parameters": {
        "columns": {
          "value": {
            "topics_keywords": "={{ $json.output[0].toJsonString() }}",
            "feedback_analysis": "={{ $json.output.toJsonString() }}"
          },
          "schema": [
            {
              "id": "feedback_analysis",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "feedback_analysis",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "topics_keywords",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "topics_keywords",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "feedback_analysis"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/13iJ2sOSaCEekzRNrhkUirZX2llBnpwGi3gdhI4PWIFM/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "13iJ2sOSaCEekzRNrhkUirZX2llBnpwGi3gdhI4PWIFM",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/13iJ2sOSaCEekzRNrhkUirZX2llBnpwGi3gdhI4PWIFM/edit?usp=drivesdk",
          "cachedResultName": "Jotform Feedback"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "Zjoxh2BUZ6VXGQhA",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "b3dbc129-bd64-420b-969b-9bec6a11f4d1",
      "name": "스티커 노트",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -608,
        -416
      ],
      "parameters": {
        "color": 7,
        "width": 352,
        "height": 272,
        "content": "![Logo](https://www.jotform.com/resources/assets/logo-nb/min/jotform-logo-white-400x200.png)\n\nUses Google Gemini AI for the sentiment analysis and topics + keyword extraction of Jotform content"
      },
      "typeVersion": 1
    },
    {
      "id": "83b6913b-ff18-46c0-ba3e-b2c0d5fddedf",
      "name": "폼 데이터 형식 지정",
      "type": "n8n-nodes-base.code",
      "position": [
        -352,
        -96
      ],
      "parameters": {
        "jsCode": "const outputString = JSON.stringify($input.first().json, null, 2);\nreturn [\n    {\n      json: {\n        body: outputString\n      }\n    }\n  ];"
      },
      "typeVersion": 2
    },
    {
      "id": "78ffe47a-7836-45ed-a3b1-73f9ccff41d6",
      "name": "주제 및 키워드",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        0,
        -400
      ],
      "parameters": {
        "text": "=Perform sentiment analysis of the following {{ $json.body }} \n",
        "batching": {},
        "messages": {
          "messageValues": [
            {
              "message": "You are an expert sentiment analyzer"
            }
          ]
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.7
    },
    {
      "id": "41b0cfcb-fa81-4c52-96a7-e6581bb057be",
      "name": "주제 및 키워드용 Google Gemini 채팅 모델",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        -16,
        -176
      ],
      "parameters": {
        "options": {},
        "modelName": "models/gemini-2.0-flash-exp"
      },
      "credentials": {
        "googlePalmApi": {
          "id": "YeO7dHZnuGBVQKVZ",
          "name": "Google Gemini(PaLM) Api account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "5f5c238d-9705-4017-bdb8-0f6b1adbba15",
      "name": "주제 및 키워드용 구조화된 출력 파서",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        176,
        -176
      ],
      "parameters": {
        "schemaType": "manual",
        "inputSchema": "{\n  \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n  \"title\": \"SurveyTopicKeywordExtraction\",\n  \"description\": \"Schema for extracting topics, keywords, and sentiment insights from Jotform survey responses.\",\n  \"type\": \"object\",\n  \"properties\": {\n    \"topics\": {\n      \"type\": \"array\",\n      \"description\": \"High-level themes or categories extracted from the survey answers.\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"topic\": {\n            \"type\": \"string\",\n            \"description\": \"Descriptive name of the topic, e.g., 'Customer Support Experience'.\"\n          },\n          \"summary\": {\n            \"type\": \"string\",\n            \"description\": \"Short summary describing this topic based on the responses.\"\n          },\n          \"keywords\": {\n            \"type\": \"array\",\n            \"description\": \"List of key terms or phrases related to this topic.\",\n            \"items\": {\n              \"type\": \"string\"\n            }\n          },\n          \"sentiment\": {\n            \"type\": \"string\",\n            \"enum\": [\"positive\", \"negative\", \"neutral\", \"mixed\"],\n            \"description\": \"Overall sentiment associated with this topic.\"\n          },\n          \"importance_score\": {\n            \"type\": \"number\",\n            \"minimum\": 0,\n            \"maximum\": 1,\n            \"description\": \"Relative importance or weight of this topic (0-1 scale).\"\n          }\n        },\n        \"required\": [\"topic\", \"keywords\"]\n      }\n    },\n    \"global_keywords\": {\n      \"type\": \"array\",\n      \"description\": \"Top-level keywords or phrases representing the overall survey themes.\",\n      \"items\": {\n        \"type\": \"string\"\n      }\n    },\n    \"insights\": {\n      \"type\": \"array\",\n      \"description\": \"Key takeaways or AI-generated insights derived from the data mining.\",\n      \"items\": {\n        \"type\": \"string\"\n      }\n    },\n    \"generated_at\": {\n      \"type\": \"string\",\n      \"format\": \"date-time\",\n      \"description\": \"Timestamp of when this analysis was generated.\"\n    }\n  }\n}\n"
      },
      "typeVersion": 1.3
    },
    {
      "id": "041a9363-5f09-46ed-9cd4-4cc17dbe60c8",
      "name": "JotForm 트리거",
      "type": "n8n-nodes-base.jotFormTrigger",
      "position": [
        -576,
        -96
      ],
      "webhookId": "bddebb80-2e71-43e6-941e-4d599f70d0e6",
      "parameters": {
        "form": "252797914459475"
      },
      "credentials": {
        "jotFormApi": {
          "id": "IcptK658rWIj1G45",
          "name": "JotForm account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "4981c2c9-a760-43d4-ad81-dc60f545bffb",
      "name": "병합",
      "type": "n8n-nodes-base.merge",
      "position": [
        464,
        -112
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "e6ec2964-d484-4d8f-9c92-515ad9904cd0",
      "name": "집계",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        672,
        -112
      ],
      "parameters": {
        "options": {},
        "fieldsToAggregate": {
          "fieldToAggregate": [
            {
              "fieldToAggregate": "output"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "95125c3d-1fc8-4339-a91c-f4f7527fb2de",
      "name": "스티커 노트1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -144,
        -464
      ],
      "parameters": {
        "color": 4,
        "width": 528,
        "height": 432,
        "content": "## Topics and Keyword Extraction using Google Gemini"
      },
      "typeVersion": 1
    },
    {
      "id": "95fc87ef-b095-41d0-9ce1-9a7ef11facc6",
      "name": "스티커 노트2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -144,
        0
      ],
      "parameters": {
        "color": 4,
        "width": 528,
        "height": 464,
        "content": "## Sentiment Analysis using Google Gemini"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "6f6e2249-0884-47a8-af5e-bcc4bac7a61c",
  "connections": {
    "4981c2c9-a760-43d4-ad81-dc60f545bffb": {
      "main": [
        [
          {
            "node": "e6ec2964-d484-4d8f-9c92-515ad9904cd0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e6ec2964-d484-4d8f-9c92-515ad9904cd0": {
      "main": [
        [
          {
            "node": "ec24ab03-ffdd-412b-a66f-4b3d6bb04edd",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "041a9363-5f09-46ed-9cd4-4cc17dbe60c8": {
      "main": [
        [
          {
            "node": "83b6913b-ff18-46c0-ba3e-b2c0d5fddedf",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "78ffe47a-7836-45ed-a3b1-73f9ccff41d6": {
      "main": [
        [
          {
            "node": "4981c2c9-a760-43d4-ad81-dc60f545bffb",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8c3ecf36-96e7-4dfc-9ec2-0cf2d0425139": {
      "main": [
        [
          {
            "node": "4981c2c9-a760-43d4-ad81-dc60f545bffb",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "83b6913b-ff18-46c0-ba3e-b2c0d5fddedf": {
      "main": [
        [
          {
            "node": "8c3ecf36-96e7-4dfc-9ec2-0cf2d0425139",
            "type": "main",
            "index": 0
          },
          {
            "node": "78ffe47a-7836-45ed-a3b1-73f9ccff41d6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "36ae4c6f-049d-475c-af85-9cca6affc769": {
      "ai_languageModel": [
        [
          {
            "node": "8c3ecf36-96e7-4dfc-9ec2-0cf2d0425139",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "8fdec511-d900-41a4-bf79-295a620f0b4e": {
      "ai_outputParser": [
        [
          {
            "node": "8c3ecf36-96e7-4dfc-9ec2-0cf2d0425139",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "ec24ab03-ffdd-412b-a66f-4b3d6bb04edd": {
      "main": [
        []
      ]
    },
    "5f5c238d-9705-4017-bdb8-0f6b1adbba15": {
      "ai_outputParser": [
        [
          {
            "node": "78ffe47a-7836-45ed-a3b1-73f9ccff41d6",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "41b0cfcb-fa81-4c52-96a7-e6581bb057be": {
      "ai_languageModel": [
        [
          {
            "node": "78ffe47a-7836-45ed-a3b1-73f9ccff41d6",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

이 워크플로우를 어떻게 사용하나요?

위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.

이 워크플로우는 어떤 시나리오에 적합한가요?

중급

유료인가요?

이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.

워크플로우 정보
난이도
중급
노드 수14
카테고리-
노드 유형9
난이도 설명

일정 경험을 가진 사용자를 위한 6-15개 노드의 중간 복잡도 워크플로우

저자
Ranjan Dailata

Ranjan Dailata

@ranjancse

A Professional based out of India specialized in handling AI-powered automations. Contact me at ranjancse@gmail.com

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34