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": "設定 Product Description",
"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": "-Product-Description-1"
},
{
"name": "AI: Generate Search Queries",
"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-Generate-Search-Queries-2"
},
{
"name": "Split Queries",
"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": "Split-Queries-3"
},
{
"name": "Google Custom Search (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-Custom-Search-CSE--4"
},
{
"name": "Combine Search Results",
"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": "Combine-Search-Results-5"
},
{
"name": "AI: 要約 Products & Prices",
"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-Products-Prices-6"
},
{
"name": "Send Report メール",
"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": "Send-Report--7"
}
],
"pinData": {},
"version": 1,
"connections": {
"Split-Queries-3": {
"main": [
[
{
"node": "Google-Custom-Search-CSE--4",
"type": "main"
}
]
]
},
"Manual Trigger": {
"main": [
[
{
"node": "Set Product Description",
"type": "main"
}
]
]
},
"Combine-Search-Results-5": {
"main": [
[
{
"node": "AI: Summarize Products & Prices",
"type": "main"
}
]
]
},
"Set Product Description": {
"main": [
[
{
"node": "AI-Generate-Search-Queries-2",
"type": "main"
}
]
]
},
"Google-Custom-Search-CSE--4": {
"main": [
[
{
"node": "Combine-Search-Results-5",
"type": "main"
}
]
]
},
"AI-Generate-Search-Queries-2": {
"main": [
[
{
"node": "Split-Queries-3",
"type": "main"
}
]
]
},
"AI: Summarize Products & Prices": {
"main": [
[
{
"node": "Send Report Email",
"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で表示 →
このワークフローを共有