GPT-4.1 miniを使用して自然言語をウェブ検索に変換し、Google Sheetsに記録
中級
これはContent Creation, Multimodal AI分野の自動化ワークフローで、14個のノードを含みます。主にWebhook, HttpRequest, GoogleSheets, Agent, HttpRequestToolなどのノードを使用。 自然言語を検索に変換し、Google Sheetsに記録するためにGPT-4.1 miniを使用
前提条件
- •HTTP Webhookエンドポイント(n8nが自動生成)
- •ターゲットAPIの認証情報が必要な場合あり
- •Google Sheets API認証情報
使用ノード (14)
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
"meta": {
"instanceId": "0a25db4fd0692af64b58f35e01611f2ef0b5bb9d6654c57ef3741021e7d8cc11",
"templateId": "6343",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "d324309d-a8e6-49a7-9aba-6539822ccc09",
"name": "サイト",
"type": "n8n-nodes-base.httpRequest",
"position": [
640,
256
],
"parameters": {
"url": "https://api.firecrawl.dev/v1/search",
"method": "POST",
"options": {},
"jsonBody": "{\n \"query\": \"nate herk site:www.geeky-gadgets.com\",\n \"limit\": 5\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{}
]
}
},
"typeVersion": 4.2
},
{
"id": "0aea3a14-37ac-46c6-8e8c-a12c3750e801",
"name": "In URL",
"type": "n8n-nodes-base.httpRequest",
"position": [
640,
448
],
"parameters": {
"url": "https://api.firecrawl.dev/v1/search",
"method": "POST",
"options": {},
"jsonBody": "{\n \"query\": \"nate herk inurl:skool\",\n \"limit\": 5\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{}
]
}
},
"typeVersion": 4.2
},
{
"id": "f6c6becf-a6de-4523-846b-9ec51d485a2f",
"name": "除外",
"type": "n8n-nodes-base.httpRequest",
"position": [
864,
256
],
"parameters": {
"url": "https://api.firecrawl.dev/v1/search",
"method": "POST",
"options": {},
"jsonBody": "{\n \"query\": \"nate herk -inurl:skool\",\n \"limit\": 6\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{}
]
}
},
"typeVersion": 4.2
},
{
"id": "8107f822-b505-4158-8c13-8f1bf7774db0",
"name": "Pro",
"type": "n8n-nodes-base.httpRequest",
"position": [
864,
448
],
"parameters": {
"url": "https://api.firecrawl.dev/v1/search",
"method": "POST",
"options": {},
"jsonBody": "{\n \"query\": \"Nate Herk site:youtube.com -shorts intitle:automation\",\n \"limit\": 5\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{}
]
}
},
"typeVersion": 4.2
},
{
"id": "d0a5315a-1d4a-41a7-b68c-ab31686370e1",
"name": "GPT 4.1 mini",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"position": [
304,
576
],
"parameters": {
"options": {}
},
"credentials": {
"openRouterApi": {
"id": "d5XqPDl5wyBTf7S8",
"name": "OpenRouter account"
}
},
"typeVersion": 1
},
{
"id": "19753a83-34d3-4d61-a1ab-4d7d90f5245d",
"name": "Firecrawl検索",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
432,
576
],
"parameters": {
"url": "https://api.firecrawl.dev/v1/search",
"method": "POST",
"options": {},
"jsonBody": "={\n \"query\": \"{{$fromAI(\"searchQuery\")}}\",\n \"limit\": {{$fromAI(\"limit\",\"the number of search results requested\", number)}},\n \"scrapeOptions\": {\n \"formats\": [\"markdown\", \"screenshot@fullPage\"]}\n}",
"sendBody": true,
"specifyBody": "json",
"toolDescription": "Use this tool to search the internet"
},
"typeVersion": 4.2
},
{
"id": "34fa76be-ef2a-4962-9ff1-9d5268525e5f",
"name": "検索エージェント",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
288,
352
],
"parameters": {
"options": {
"systemMessage": "=# Overview\nYou are a Firecrawl Search Query Generator Agent.\n\nYou have access to a tool called FireCrawl Search.\n\nYour job is to:\n1. Convert natural language instructions into a properly formatted Firecrawl query string using supported operators.\n2. Send that query — along with a `limit` parameter — to the **FireCrawl Search** tool.\n\n## Query Construction Rules:\n\nUse the following rules to transform user input:\n\n- If the user specifies an exact phrase \n → `Nate Herk`\n\n- To exclude terms or domains, prefix them with `-` \n → `-linkedin`, `-site:facebook.com`\n\n- If the user wants to search within a specific site, use `site:` \n → `site:youtube.com`\n\n- If the user wants a word in the URL, use `inurl:` \n → `inurl:nateherk`\n\n- If the user wants multiple words in the URL, use `allinurl:` \n → `allinurl:nate herk agent`\n\n- If the user wants a word in the title of the page, use `intitle:` \n → `intitle:automation`\n\n- If the user wants multiple words in the title, use `allintitle:` \n → `allintitle:ai agent tutorial`\n\n- If the user wants results related to a domain, use `related:` \n → `related:truehorizonai.com`\n\n\n## Tool Usage Instructions:\n\nAlways call the **FireCrawls Search** tool with:\n- `query`: the final constructed query string \n- `limit`: the number of results the user requested\n\nIf the user does **not specify a limit**, default to: \n→ `limit: 5`\n\n## Output\n\nAlways return all of the important information for each item that the tool gives you. The the title, the URL, the results, etc. \n\nFor each 'data' object that is returned in the results, output every field that lives in that object.\n\n## Examples:\n\n**Input:** Search the internet for Nate Herk \n**Action:** Call FireCrawls Search with: \n```json\n{\n \"query\": Nate Herk,\n \"limit\": 5\n}\n```\n\n**Input:** Find pages with AI agent in the title from YouTube, show me 10 \n**Action:** \n```json\n{\n \"query\": intitle:AI agent site:youtube.com,\n \"limit\": 10\n}\n```\n\n**Input:** Show me results that mention Nate Herk but exclude LinkedIn \n**Action:** \n```json\n{\n \"query\": Nate Herk -site:linkedin.com,\n \"limit\": 5\n}\n```\n"
}
},
"typeVersion": 2
},
{
"id": "0cf2ace2-d00e-4234-8ff1-3118951db009",
"name": "Webhook",
"type": "n8n-nodes-base.webhook",
"position": [
64,
352
],
"webhookId": "0d916768-023f-4d0e-8b76-4cbd5ffa07ee",
"parameters": {
"path": "0d916768-023f-4d0e-8b76-4cbd5ffa07ee",
"options": {}
},
"typeVersion": 2.1
},
{
"id": "a59522c9-c0af-42cf-ba29-c517482549ba",
"name": "シートに行を追加",
"type": "n8n-nodes-base.googleSheets",
"position": [
1088,
352
],
"parameters": {
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1EAA7t2lal9462X_CHmfZQ7LbAVsbrrkpGN1hpDI0p8o/edit#gid=0",
"cachedResultName": "Tabellenblatt1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1EAA7t2lal9462X_CHmfZQ7LbAVsbrrkpGN1hpDI0p8o",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1EAA7t2lal9462X_CHmfZQ7LbAVsbrrkpGN1hpDI0p8o/edit?usp=drivesdk",
"cachedResultName": "Founders Academy Waitlist"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "cjPjcwa3RdiMAu79",
"name": "Google Sheets account"
}
},
"typeVersion": 4.7
},
{
"id": "e16d710a-2d50-4209-b2b3-be66df110e09",
"name": "Webhookに返信",
"type": "n8n-nodes-base.respondToWebhook",
"position": [
1312,
352
],
"parameters": {
"options": {}
},
"typeVersion": 1.4
},
{
"id": "9c0850a0-d487-4be7-817f-89dc4722bb88",
"name": "付箋",
"type": "n8n-nodes-base.stickyNote",
"position": [
-304,
176
],
"parameters": {
"color": 4,
"width": 520,
"height": 140,
"content": "## STEP 1 · Entry & Orchestration\n**Webhook** receives a natural-language search request.\n**Search Agent** (LLM) turns it into a Firecrawl query + limit and calls the tool.\nGoal: standardize queries and run repeatable searches."
},
"typeVersion": 1
},
{
"id": "473b66f3-9de2-4484-bb12-9f6e3f991c04",
"name": "付箋1",
"type": "n8n-nodes-base.stickyNote",
"position": [
288,
16
],
"parameters": {
"color": 5,
"width": 280,
"height": 268,
"content": "## STEP 2 · Agent & Tooling\n**LLM (OpenRouter)** powers the Search Agent.\n**Firecrawl Search tool** gets `query` + `limit` and returns results (incl. markdown / screenshots if enabled).\nTip: default to `limit: 5` when none provided."
},
"typeVersion": 1
},
{
"id": "19065dd3-d693-4ed5-9d98-0a13cfe02d82",
"name": "付箋2",
"type": "n8n-nodes-base.stickyNote",
"position": [
624,
0
],
"parameters": {
"color": 6,
"width": 432,
"height": 218,
"content": "## STEP 3 · Targeted Queries (HTTP)\nRuns multiple Firecrawl searches:\n• **Site:** `nate herk site:geeky-gadgets.com`\n• **In URL:** `nate herk inurl:skool`\n• **Exclusion:** `nate herk -inurl:skool`\n• **Pro (YouTube):** `Nate Herk site:youtube.com -shorts intitle:automation`\nUse these as parallel facets to widen coverage."
},
"typeVersion": 1
},
{
"id": "826d9e61-6e3f-4ea4-a5b1-fdc2b754e116",
"name": "付箋3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1088,
144
],
"parameters": {
"color": 7,
"width": 520,
"height": 140,
"content": "## STEP 4 · Persist & Respond\n**Append row in sheet** writes search outputs to Google Sheets.\n**Respond to Webhook** returns results to the caller.\nTip: map fields you want to persist (titles, urls, snippet, etc.)."
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"8107f822-b505-4158-8c13-8f1bf7774db0": {
"main": [
[
{
"node": "a59522c9-c0af-42cf-ba29-c517482549ba",
"type": "main",
"index": 0
}
]
]
},
"d324309d-a8e6-49a7-9aba-6539822ccc09": {
"main": [
[
{
"node": "f6c6becf-a6de-4523-846b-9ec51d485a2f",
"type": "main",
"index": 0
}
]
]
},
"0aea3a14-37ac-46c6-8e8c-a12c3750e801": {
"main": [
[
{
"node": "8107f822-b505-4158-8c13-8f1bf7774db0",
"type": "main",
"index": 0
}
]
]
},
"0cf2ace2-d00e-4234-8ff1-3118951db009": {
"main": [
[
{
"node": "34fa76be-ef2a-4962-9ff1-9d5268525e5f",
"type": "main",
"index": 0
}
]
]
},
"f6c6becf-a6de-4523-846b-9ec51d485a2f": {
"main": [
[
{
"node": "a59522c9-c0af-42cf-ba29-c517482549ba",
"type": "main",
"index": 0
}
]
]
},
"d0a5315a-1d4a-41a7-b68c-ab31686370e1": {
"ai_languageModel": [
[
{
"node": "34fa76be-ef2a-4962-9ff1-9d5268525e5f",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"34fa76be-ef2a-4962-9ff1-9d5268525e5f": {
"main": [
[
{
"node": "d324309d-a8e6-49a7-9aba-6539822ccc09",
"type": "main",
"index": 0
},
{
"node": "0aea3a14-37ac-46c6-8e8c-a12c3750e801",
"type": "main",
"index": 0
}
]
]
},
"19753a83-34d3-4d61-a1ab-4d7d90f5245d": {
"ai_tool": [
[
{
"node": "34fa76be-ef2a-4962-9ff1-9d5268525e5f",
"type": "ai_tool",
"index": 0
}
]
]
},
"a59522c9-c0af-42cf-ba29-c517482549ba": {
"main": [
[
{
"node": "e16d710a-2d50-4209-b2b3-be66df110e09",
"type": "main",
"index": 0
}
]
]
}
}
}よくある質問
このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
中級 - コンテンツ作成, マルチモーダルAI
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
リード呼出を自動化:VAPI、Googleスheetsへの記録、カレンダー予約
リード呼出の自動化:VAPI、Googleスプレッドシートへの記録とカレンダー予約
Set
Code
Webhook
+
Set
Code
Webhook
13 ノードMeak
コンテンツ作成
Nano Banana + GPT-5で画像編集とIG投稿を自動化
Nano Banana と GPT-5 による画像編集と Instagram 投稿の自動化
If
Wait
Http Request
+
If
Wait
Http Request
19 ノードMeak
コンテンツ作成
AIリードスコアリングとルーティング(Google Gemini、Sheets、Slack通知)
AIリードスコアリングとルーティング(Google Gemini、Sheets、Slack通知)
Set
Merge
Slack
+
Set
Merge
Slack
13 ノードMeak
コンテンツ作成
AI駆動の食品注文処理システム、Facebook Messenger、Googleスプレッドシート、カレンダーとの統合
AI駆動の食品注文処理システム、Facebook Messenger、Googleスプレッドシート、カレンダーとの統合
If
Code
Webhook
+
If
Code
Webhook
26 ノードHans Wilhelm Radam
リードナーチャリング
Google Sheets、Drive、Cloudinary、Graph API を使って Instagram カルーセル投稿を自動化
Google Sheets、Drive、Cloudinary、Graph API を使って Instagram カルーソルを LinkedIn 自動投稿
Set
Aggregate
Google Drive
+
Set
Aggregate
Google Drive
15 ノードMeak
コンテンツ作成
複数の採用サイトからの求人情報の自動化
5 つの求人プラットフォームと AI リジュームジェネレーターを使った就職・応募の自動化
If
Set
Code
+
If
Set
Code
34 ノードGerald Denor
個人の生産性