OpenRouter AI와 Google Sheets를 사용한 브라우징 기록 분석 및 자동화 제안 생성
이것은Personal Productivity, AI Summarization분야의자동화 워크플로우로, 12개의 노드를 포함합니다.주로 Code, Filter, GoogleSheets, ManualTrigger, SplitInBatches 등의 노드를 사용하며. OpenRouter AI와 Google Sheets를 사용한 브라우징 기록 분석 및 자동화 제안 생성
- •Google Sheets API 인증 정보
- •대상 API의 인증 정보가 필요할 수 있음
사용된 노드 (12)
{
"meta": {
"instanceId": "9e2be6ba5ff8dd7a908d0b8006c046764e7b3f15c79d121bf914d51a0b406e85",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "0b829d80-6090-460d-bc0e-5d0ff925251b",
"name": "워크플로우 실행 시",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-380,
-20
],
"parameters": {},
"typeVersion": 1
},
{
"id": "b2114f33-6fab-4e0b-9c03-63b54faf166f",
"name": "시트에서 행 가져오기",
"type": "n8n-nodes-base.googleSheets",
"position": [
-160,
-20
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "list",
"value": 1592379591,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1V26KDJLBZno6e_VxaBqhsK_JOOOn_5N6uww2apcAeoc/edit#gid=1592379591",
"cachedResultName": "history"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1V26KDJLBZno6e_VxaBqhsK_JOOOn_5N6uww2apcAeoc",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1V26KDJLBZno6e_VxaBqhsK_JOOOn_5N6uww2apcAeoc/edit?usp=drivesdk",
"cachedResultName": "Untitled spreadsheet"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "c7TYv7ZcF6y7LGEQ",
"name": "Google Sheets account"
}
},
"typeVersion": 4.6
},
{
"id": "a81bbc84-5d25-42fa-b8d5-0ef4d97517b2",
"name": "원치 않는 도메인 제거",
"type": "n8n-nodes-base.filter",
"position": [
280,
-20
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "5d9d468c-cdc3-40c8-94ac-05260397ff1e",
"operator": {
"type": "string",
"operation": "notRegex"
},
"leftValue": "={{ $json.group[0].domain }}",
"rightValue": "=/(?:youtube\\.com|google\\.(com|[a-z]{2})|chatgpt\\.com|openai\\.com|chromewebstore.google.com)/i"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "323337f3-3aec-4b25-9777-e50ce77d088f",
"name": "도메인별 기록 그룹화",
"type": "n8n-nodes-base.code",
"position": [
60,
-20
],
"parameters": {
"jsCode": "const items = $input.all();\nconst grouped = {};\n\n// Group items by domain\nfor (const item of items) {\n const url = item.json.url;\n const domain = url.split(\"/\")[2]; // Extract domain\n item.json.domain = domain;\n\n if (!grouped[domain]) {\n grouped[domain] = [];\n }\n\n grouped[domain].push(item.json); // Store just the data part\n}\n\n// Convert grouped object to n8n-friendly format\nconst result = [];\n\nfor (const group of Object.values(grouped)) {\n result.push({\n \n group: group, // Now `group` is the array under an object\n \n });\n}\n\nreturn result;\n"
},
"typeVersion": 2
},
{
"id": "dfa4698f-ced5-48ff-89db-c8f15705aeda",
"name": "AI 에이전트",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1000,
0
],
"parameters": {
"text": "=Here is a grouped browsing history from one domain. Analyze whether it's automatable and why.\n\nHistory:{{ $json.prompt }}\n\n\nPlease analyze and tell me:\n- Is this automatable?\n- What should be automated?\n- What is the automation rating?\n-save result on google sheet",
"options": {
"systemMessage": "You are an expert automation analyst AI that uses tools to analyze web browsing history and determine if tasks can be automated.\n\nYou have access to tools such as:\n- Google Sheets (to save recommendations)\n- Web automation platforms (e.g., browser scripts, Apify, Puppeteer, n8n)\n- APIs and schedulers (to trigger tasks periodically)\n-search n8n templates\n\nYour responsibilities:\n1. Analyze the user's browsing history grouped by domain.\n2. Identify repetitive, frequent, or structured browsing behavior.\n3. Determine whether automation is possible.\n4. If yes, describe the specific action(s) to automate using available tools.\n5. Record your output in a structured format for use with Google Sheets.\n\nUse your tools wisely:\n- Save automation suggestions into a structured row (domain, automatable, what to automate, reason, automation rating).\n- Suggest appropriate tools (e.g., \"Use Apify to scrape dashboard\", \"Use n8n to schedule login\").\n\nOutput format:\n```json\n{\n \"domain\": \"<example.com>\",\n \"automatable\": true,\n \"what_to_automate\": \"<Brief, tool-aware suggestion>\",\n \"reason\": \"<Why it's suitable or not>\",\n \"tool\": \"<Suggested tool: n8n, Apify, Google Apps Script, etc.>\",\n \"automation_rating\": \"High\" // Or Medium, Low, Not Automatable,\nn8n_template:templates urls\n}\n"
},
"promptType": "define"
},
"typeVersion": 2
},
{
"id": "01bc75db-8254-4165-96f5-06a0c4bd682f",
"name": "항목 반복",
"type": "n8n-nodes-base.splitInBatches",
"position": [
500,
-20
],
"parameters": {
"options": {},
"batchSize": "={{ $input.all().length }}"
},
"typeVersion": 3
},
{
"id": "b9d674fe-6c2e-4359-a415-98233caaa342",
"name": "OpenRouter 채팅 모델",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"position": [
1000,
340
],
"parameters": {
"options": {}
},
"credentials": {
"openRouterApi": {
"id": "tC9q2VizRVbSvlww",
"name": "OpenRouter account"
}
},
"typeVersion": 1
},
{
"id": "8833b3b4-36c6-4ab9-a72a-5955b7d4427d",
"name": "코드",
"type": "n8n-nodes-base.code",
"position": [
760,
0
],
"parameters": {
"mode": "runOnceForEachItem",
"jsCode": "// Loop over input items and add a new field called 'myNewField' to the JSON of each one\nreturn {\n prompt:JSON.stringify($json)}"
},
"typeVersion": 2
},
{
"id": "1ea2312d-5b13-4d7c-971c-81ac6598f1de",
"name": "심플 메모리",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
1280,
240
],
"parameters": {
"sessionKey": "={{ $('Loop Over Items').item.json.group[0].domain }}",
"sessionIdType": "customKey"
},
"typeVersion": 1.3
},
{
"id": "ca69ff37-653a-4d40-b030-3439735e9289",
"name": "Google 시트에 행 추가",
"type": "n8n-nodes-base.googleSheetsTool",
"position": [
1160,
480
],
"parameters": {
"columns": {
"value": {
"domain": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('domain__using_to_match_', ``, 'string') }}",
"reason": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('reason', ``, 'string') }}",
"automatable": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('automatable', ``, 'string') }}",
"n8n_template": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('n8n_template', ``, 'string') }}",
"what_to_automate": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('what_to_automate', ``, 'string') }}",
"automation_rating": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('automation_rating', ``, 'string') }}"
},
"schema": [
{
"id": "domain",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "domain",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "automatable",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "automatable",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "what_to_automate",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "what_to_automate",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "reason",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "reason",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "automation_rating",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "automation_rating",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "n8n_template",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "n8n_template",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"domain"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 1970061780,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1V26KDJLBZno6e_VxaBqhsK_JOOOn_5N6uww2apcAeoc/edit#gid=1970061780",
"cachedResultName": "automations"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1V26KDJLBZno6e_VxaBqhsK_JOOOn_5N6uww2apcAeoc",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1V26KDJLBZno6e_VxaBqhsK_JOOOn_5N6uww2apcAeoc/edit?usp=drivesdk",
"cachedResultName": "history"
},
"descriptionType": "manual",
"toolDescription": "use this to save analyse result to google sheet "
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "c7TYv7ZcF6y7LGEQ",
"name": "Google Sheets account"
}
},
"typeVersion": 4.6
},
{
"id": "0e2fceb0-4498-4ee3-8a72-0611d7ba5afd",
"name": "HTTP 요청",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
1300,
440
],
"parameters": {
"url": "https://n8n.io/workflows/?sort=views:desc",
"options": {},
"sendQuery": true,
"queryParameters": {
"parameters": [
{
"name": "q",
"value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('parameters0_Value', ``, 'string') }}"
}
]
},
"toolDescription": "get n8n template list from search page"
},
"typeVersion": 4.2
},
{
"id": "93f68db2-7ba5-4ade-941d-d5309a70fb78",
"name": "스티커 노트",
"type": "n8n-nodes-base.stickyNote",
"position": [
-460,
180
],
"parameters": {
"width": 740,
"height": 2440,
"content": "# 🧠 Browsing History Automation Analyzer – Automation Toolkit (Google Sheets + AI)\n\nThis **n8n workflow** analyzes your browsing history to identify opportunities for automation. It reads history from a Google Sheet, groups visits by domain, filters out irrelevant entries, and uses AI to recommend what can be automated — including how and why.\n\n---\n\n## 📌 What It Does\n\n- 📄 **Reads** your browsing history from Google Sheets\n- 🌐 **Groups** history by domain\n- 🚫 **Filters out** common non-actionable domains (e.g., YouTube, Google)\n- 🤖 **Uses AI** to analyze whether your activity on each site is automatable\n- 💡 **Provides suggestions** including what to automate, how to do it, and which tools to use\n- 📝 **Saves results** into a new tab in the same Google Sheet\n- 🔍 **Searches for n8n workflow templates** related to the suggested automation\n\n---\n\n## 📊 Demo Sheet\n\nInput + output are handled via the following Google Sheet:\n\n**📎 Spreadsheet**: \n[View on Google Sheets](https://docs.google.com/spreadsheets/d/1V26KDJLBZno6e_VxaBqhsK_JOOOn_5N6uww2apcAeoc/edit?usp=drivesdk)\n\n- **Sheet: `history`** → Input browsing history\n- **Sheet: `automations`** → Output AI automation suggestions\n\n---\n\n## 🧠 AI Analysis Logic\n\nThe AI agent receives each domain's browsing history and responds with:\n- `domain`: The website domain\n- `automatable`: true/false\n- `what_to_automate`: Specific actions that can be automated\n- `reason`: Why it's suitable (or not) for automation\n- `tool`: Suggested automation tool (e.g., n8n, Apify)\n- `automation_rating`: High, Medium, Low, or Not Automatable\n- `n8n_template`: Relevant automation template (if found)\n\n---\n\n## 🔧 Technologies Used\n\n| Tool | Purpose |\n|--------------------------|-------------------------------------|\n| **n8n** | Workflow automation |\n| **LangChain AI Agent** | AI-based analysis |\n| **Google Sheets Node** | Input/output data handling |\n| **OpenRouter (LLM)** | Language model for intelligent reasoning |\n| **JavaScript Code Node** | Grouping and formatting logic |\n| **Filter Node** | Remove unwanted domains |\n| **HTTP Request Node** | Search n8n.io templates |\n\n---\n\n## 💻 Chrome History Export\n\nYou can use this Chrome extension to export your browsing history in a format compatible with the workflow:\n\n🔗 [Export Chrome History Extension](https://chromewebstore.google.com/detail/export-chrome-history/dihloblpkeiddiaojbagoecedbfpifdj?pli=1)\n\n---\n\n## 📧 Want Personalized Automation Advice?\n\nIf you'd like **personalized automation recommendations** based on your browsing history—just like what this workflow provides—feel free to contact me directly:\n\n> 📩 **msaidwolfltd@gmail.com**\n\nI'll help you discover what tasks you can automate to save time and boost productivity.\n\n---\n\n## 🚀 Example Use Cases\n\n- Automate daily logins to dashboards\n- Auto-fill forms on repetitive websites\n- Schedule data exports from web portals\n- Trigger reminders based on recurring visits\n- Discover opportunities for scraping and integration\n\n---\n\n## 📜 License\n\nThis workflow is provided as-is for educational and personal use. For commercial or customized use, contact the author.\n\n---\n\n"
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"8833b3b4-36c6-4ab9-a72a-5955b7d4427d": {
"main": [
[
{
"node": "dfa4698f-ced5-48ff-89db-c8f15705aeda",
"type": "main",
"index": 0
}
]
]
},
"dfa4698f-ced5-48ff-89db-c8f15705aeda": {
"main": [
[
{
"node": "01bc75db-8254-4165-96f5-06a0c4bd682f",
"type": "main",
"index": 0
}
]
]
},
"0e2fceb0-4498-4ee3-8a72-0611d7ba5afd": {
"ai_tool": [
[
{
"node": "dfa4698f-ced5-48ff-89db-c8f15705aeda",
"type": "ai_tool",
"index": 0
}
]
]
},
"1ea2312d-5b13-4d7c-971c-81ac6598f1de": {
"ai_memory": [
[
{
"node": "dfa4698f-ced5-48ff-89db-c8f15705aeda",
"type": "ai_memory",
"index": 0
}
]
]
},
"01bc75db-8254-4165-96f5-06a0c4bd682f": {
"main": [
[],
[
{
"node": "8833b3b4-36c6-4ab9-a72a-5955b7d4427d",
"type": "main",
"index": 0
}
]
]
},
"b2114f33-6fab-4e0b-9c03-63b54faf166f": {
"main": [
[
{
"node": "323337f3-3aec-4b25-9777-e50ce77d088f",
"type": "main",
"index": 0
}
]
]
},
"b9d674fe-6c2e-4359-a415-98233caaa342": {
"ai_languageModel": [
[
{
"node": "dfa4698f-ced5-48ff-89db-c8f15705aeda",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"a81bbc84-5d25-42fa-b8d5-0ef4d97517b2": {
"main": [
[
{
"node": "01bc75db-8254-4165-96f5-06a0c4bd682f",
"type": "main",
"index": 0
}
]
]
},
"323337f3-3aec-4b25-9777-e50ce77d088f": {
"main": [
[
{
"node": "a81bbc84-5d25-42fa-b8d5-0ef4d97517b2",
"type": "main",
"index": 0
}
]
]
},
"ca69ff37-653a-4d40-b030-3439735e9289": {
"ai_tool": [
[
{
"node": "dfa4698f-ced5-48ff-89db-c8f15705aeda",
"type": "ai_tool",
"index": 0
}
]
]
},
"0b829d80-6090-460d-bc0e-5d0ff925251b": {
"main": [
[
{
"node": "b2114f33-6fab-4e0b-9c03-63b54faf166f",
"type": "main",
"index": 0
}
]
]
}
}
}이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
중급 - 개인 생산성, AI 요약
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
Msaid Mohamed el hadi
@mohamedgb00714Hi! I’m Mohamed El Hadi, a passionate developer and automation expert from Algeria. I specialize in building smart, scalable workflows using n8n to streamline business operations, save time, and drive innovation. 🌍 Open to collaborations | 🤖 Automation lover | 💼 Founder of EcoPetDZ & AADL Auto Reload
이 워크플로우 공유