AI 기반 제품 연구 및 가격 비교 - Google 검색 및 OpenAI
중급
이것은Market Research, AI RAG분야의자동화 워크플로우로, 8개의 노드를 포함합니다.주로 Set, Gmail, OpenAi, Function, ManualTrigger 등의 노드를 사용하며. Google 검색과 OpenAI를 활용한 AI 기반 제품 연구 및 가격 비교
사전 요구사항
- •Google 계정 및 Gmail API 인증 정보
- •OpenAI API Key
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"nodes": [
{
"name": "수동 트리거",
"type": "n8n-nodes-base.manualTrigger",
"notes": {
"text": "### 1. Start Workflow\n\nThis `Manual Trigger` node is used for easy testing of your product research.\n\n**To trigger the workflow manually:** Click the 'Execute Workflow' button in the top right.\n\n**For automation:** You could connect this to a `Webhook` (if you build a simple form for product descriptions) or a `Google Sheets` node (to read new product requests from a spreadsheet).",
"position": "right"
},
"position": [
240,
300
],
"parameters": {},
"typeVersion": 1,
"id": "--0"
},
{
"name": "제품 설명 설정",
"type": "n8n-nodes-base.set",
"notes": {
"text": "### 2. Define Product Description\n\nThis `Set` node defines the product you're looking for using natural language.\n\n**How to use:**\n* **For testing:** Directly edit the 'Value' field with a detailed description of the product you want to find.\n* **For automation:** This could come from a previous node (e.g., a form submission via a `Webhook` or a cell in a `Google Sheet`) using an expression like `{{ $json.yourInputFieldName }}`.",
"position": "right"
},
"position": [
460,
300
],
"parameters": {
"values": [
{
"name": "productDescription",
"value": "Lightweight, durable hiking backpack for multi-day trips (30-40L), good ventilation, comfortable for long hikes."
}
],
"options": {}
},
"typeVersion": 2,
"id": "--1"
},
{
"name": "AI: 검색 쿼리 생성",
"type": "n8n-nodes-base.openAi",
"notes": {
"text": "### 3. AI: Generate Search Queries\n\nThis `OpenAI` node takes your natural language `productDescription` and uses AI to generate effective search queries.\n\n**Setup:**\n1. **OpenAI Credential:** Click on 'Credentials' and select 'New Credential'. Provide your OpenAI API Key (starts with `sk-`). Save it.\n2. **Model:** You can change `gpt-3.5-turbo` to `gpt-4o` for potentially better query generation (but higher cost).\n3. **Prompt:** The system prompt guides the AI to generate concise search queries suitable for a search engine.\n\n**Output:** The AI will output a string with queries separated by newlines.",
"position": "right"
},
"position": [
700,
300
],
"parameters": {
"model": "gpt-3.5-turbo",
"options": {},
"messages": [
{
"role": "system",
"content": "You are a search query optimizer. Given a product description, generate 3-5 concise and effective Google search queries to find that product. Output each query on a new line. Do not add any conversational text or numbering."
},
{
"role": "user",
"content": "Generate search queries for: {{ $json.productDescription }}"
}
]
},
"typeVersion": 1,
"id": "AI--2"
},
{
"name": "쿼리 분할",
"type": "n8n-nodes-base.function",
"notes": {
"text": "### 4. Split Queries\n\nThis `Function` node takes the multi-line string of search queries generated by the AI and splits them into separate items. Each item will then be processed individually by the next node.\n\n**Output:** If the AI generated 3 queries, this node will output 3 separate items, each with a `query` field (e.g., `{{ $json.query }}`).\n\n**No configuration needed here**, it automatically processes the AI output.",
"position": "right"
},
"position": [
940,
300
],
"parameters": {
"options": {},
"function": "const queriesString = items[0].json.choices[0].message.content;\nconst queries = queriesString.split('\\n').filter(q => q.trim() !== '');\n\nconst outputItems = queries.map(query => ({ json: { query: query.trim() } }));\n\nreturn outputItems;"
},
"typeVersion": 1,
"id": "--3"
},
{
"name": "Google 맞춤 검색(CSE)",
"type": "n8n-nodes-base.googleCustomSearch",
"notes": {
"text": "### 5. Google Custom Search (CSE) - The Core!\n\nThis `Google Custom Search` node performs the actual web search using your configured Google Custom Search Engine.\n\n**Setup (CRITICAL!):**\n1. **Google API Credential:** Click 'Credentials' and select 'New Credential'. Choose 'Google API'. You'll need the **API Key** you generated in the Google Cloud Console (Step 1 in the overall setup).\n2. **Search Engine ID:** This is the ID you obtained from `cse.google.com` (Step 1 in the overall setup).\n3. **Query:** This field is pre-filled with `={{ $json.query }}`, pulling each query generated by the AI and splitting it.\n4. **Num:** (Optional) Limits the number of results per query. Default is 10; set to 5 for a more concise output.\n\n**Output:** This node will output search results, including `title`, `link`, and `snippet` for each result.",
"position": "right"
},
"position": [
1180,
300
],
"parameters": {
"query": "={{ $json.query }}",
"options": {
"num": 5
},
"operation": "search",
"searchEngineId": "YOUR_SEARCH_ENGINE_ID"
},
"credentials": {
"googleApi": {
"id": "YOUR_GOOGLE_API_CREDENTIAL_ID",
"resolve": false
}
},
"typeVersion": 1,
"id": "Google-CSE--4"
},
{
"name": "검색 결과 결합",
"type": "n8n-nodes-base.set",
"notes": {
"text": "### 6. Combine Search Results\n\nThis `Set` node gathers all the search results from the multiple CSE queries into a single, combined item.\n\n**How it works:** `{{ $('Google Custom Search (CSE)').all() }}` is an advanced expression that collects *all* items from *all* executions of the 'Google Custom Search (CSE)' node into one array. This is essential for feeding all results to the AI for summarization.",
"position": "right"
},
"position": [
1420,
300
],
"parameters": {
"mode": "json",
"value": "={{ $('Google Custom Search (CSE)').all() }}",
"options": {}
},
"typeVersion": 2,
"id": "--5"
},
{
"name": "AI: 제품 및 가격 요약",
"type": "n8n-nodes-base.openAi",
"notes": {
"text": "### 7. AI: Summarize Products & Prices\n\nThis `OpenAI` node analyzes all the combined search results and synthesizes them into a readable report.\n\n**Purpose:** The AI will try to identify product types, common features, and potential places to buy, based on the `title`, `snippet`, and `link` data from the search results.\n\n**Input:** The 'User' prompt feeds all the search result data to the AI.\n\n**Output:** The AI-generated summary report.",
"position": "right"
},
"position": [
1660,
300
],
"parameters": {
"model": "gpt-3.5-turbo",
"options": {},
"messages": [
{
"role": "system",
"content": "You are a product research assistant. Analyze the provided search results (titles, snippets, links) for a product. Identify common themes, product types, key features, and suggest where the user might find the best prices (e.g., mention specific retailers or general price comparison sites if they appear in results). Structure your output as a concise report with bullet points for key findings and a list of top 3-5 relevant links."
},
{
"role": "user",
"content": "Based on the following search results for '{{ $node[\"Set Product Description\"].json.productDescription }}':\n\n{{ $json.map(item => `Title: ${item.title}\\nSnippet: ${item.snippet}\\nLink: ${item.link}`).join('\\n---\\n') }}"
}
]
},
"credentials": {
"openAiApi": {
"id": "YOUR_OPENAI_CREDENTIAL_ID",
"resolve": false
}
},
"typeVersion": 1,
"id": "AI--6"
},
{
"name": "보고서 이메일 전송",
"type": "n8n-nodes-base.gmail",
"notes": {
"text": "### 8. Send Report Email\n\nThis `Gmail` node sends the final AI-generated product research report to your inbox.\n\n**Setup:**\n1. **Gmail Credential:** Select your existing Gmail API credential.\n2. **From Email:** Enter your Gmail address (this must be the same account you authenticated).\n3. **To Email:** **IMPORTANT: Change `YOUR_RECIPIENT_EMAIL@example.com` to your actual email address!**\n4. **Subject:** Includes the product description for easy reference.\n5. **Text:** The email body contains the summary generated by the AI.\n\n**After setting up, click 'Execute Workflow' (from the 'Manual Trigger' node) to receive your product research report!**",
"position": "right"
},
"position": [
1900,
300
],
"parameters": {
"text": "Hello!\n\nHere's your AI-powered product research report from n8n for:\n\"{{ $node[\"Set Product Description\"].json.productDescription }}\"\n\n---\n\n{{ $node[\"AI: Summarize Products & Prices\"].json.choices[0].message.content }}\n\n---\n\n*This report was generated automatically by n8n. Please use the provided links to explore products and prices further.*",
"options": {},
"subject": "AI Shopping Assistant: Product Research Report for \"{{ $node[\"Set Product Description\"].json.productDescription }}\"",
"toEmail": "YOUR_RECIPIENT_EMAIL@example.com",
"fromEmail": "YOUR_GMAIL_EMAIL@gmail.com"
},
"credentials": {
"gmailApi": {
"id": "YOUR_GMAIL_CREDENTIAL_ID",
"resolve": false
}
},
"typeVersion": 2,
"id": "--7"
}
],
"pinData": {},
"version": 1,
"connections": {
"--3": {
"main": [
[
{
"node": "Google-CSE--4",
"type": "main"
}
]
]
},
"--0": {
"main": [
[
{
"node": "--1",
"type": "main"
}
]
]
},
"--5": {
"main": [
[
{
"node": "AI--6",
"type": "main"
}
]
]
},
"--1": {
"main": [
[
{
"node": "AI--2",
"type": "main"
}
]
]
},
"Google-CSE--4": {
"main": [
[
{
"node": "--5",
"type": "main"
}
]
]
},
"AI--2": {
"main": [
[
{
"node": "--3",
"type": "main"
}
]
]
},
"AI--6": {
"main": [
[
{
"node": "--7",
"type": "main"
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
중급 - 시장 조사, AI RAG
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
기업 온라인 이미지 모니터링기
AI 감정 분석 및 다중 플랫폼 추적을 사용한 일일 기업 온라인 이미지 모니터링
Set
Cron
Gmail
+
Set
Cron
Gmail
17 노드Piotr Sobolewski
시장 조사
OpenAI와 Gmail을 사용하여 팟캐스트 트랙션 요약 및 키워드 생성
OpenAI와 Gmail을 사용하여 팟캐스트 트랙션 요약 및 키워드 생성
Set
Gmail
Open Ai
+
Set
Gmail
Open Ai
6 노드Piotr Sobolewski
콘텐츠 제작
일본 사용자를 위한 간단한 깊이 연구(게시용)
Gemini AI와 Tavily 검색을 사용하여 일본 사용자에게 전체적인 연구 보고서 생성
Set
Gmail
Manual Trigger
+
Set
Gmail
Manual Trigger
18 노드Shun Fukuchi
시장 조사
OpenAI 및 WordPress를 사용한 블로그 콘텐츠 생성 및 게시 자동화
OpenAI 및 WordPress를 사용한 블로그 콘텐츠 생성 및 게시 자동화
Set
Open Ai
Word Press
+
Set
Open Ai
Word Press
6 노드Piotr Sobolewski
콘텐츠 제작
Gmail과 GPT 요약을 사용한 일일 이메일 요약 자동 발송
Gmail 및 GPT 요약을 사용한 일일 이메일 다이제스트 자동 전송, 매일 오후 발송
Cron
Gmail
Open Ai
+
Cron
Gmail
Open Ai
6 노드Piotr Sobolewski
개인 생산성
OpenAI와 Gmail을 사용하는 매일 긍정적인 뉴스 요약
OpenAI와 Gmail을 사용한 매일 긍정적인 뉴스 요약
If
Cron
Gmail
+
If
Cron
Gmail
9 노드Piotr Sobolewski
개인 생산성
워크플로우 정보
난이도
중급
노드 수8
카테고리2
노드 유형6
저자
Piotr Sobolewski
@piotrsobolewskiAI PhD with 7 years experience as a game dev CEO, currently teaching, helping others and building something new.
외부 링크
n8n.io에서 보기 →
이 워크플로우 공유