Analizar historial de navegación y generar sugerencias automatizadas con OpenRouter AI y Google Sheets
Este es unPersonal Productivity, AI Summarizationflujo de automatización del dominio deautomatización que contiene 12 nodos.Utiliza principalmente nodos como Code, Filter, GoogleSheets, ManualTrigger, SplitInBatches. Analizar historial de navegación y generar sugerencias automatizadas con OpenRouter AI y Google Sheets
- •Credenciales de API de Google Sheets
- •Pueden requerirse credenciales de autenticación para la API de destino
Nodos utilizados (12)
Categoría
{
"meta": {
"instanceId": "9e2be6ba5ff8dd7a908d0b8006c046764e7b3f15c79d121bf914d51a0b406e85",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "0b829d80-6090-460d-bc0e-5d0ff925251b",
"name": "Al hacer clic en 'Ejecutar flujo de trabajo'",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-380,
-20
],
"parameters": {},
"typeVersion": 1
},
{
"id": "b2114f33-6fab-4e0b-9c03-63b54faf166f",
"name": "Obtener fila(s) en la hoja",
"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": "eliminar dominios no deseados",
"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": "agrupar historial por dominio",
"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": "Agente de IA",
"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": "Iterar sobre elementos",
"type": "n8n-nodes-base.splitInBatches",
"position": [
500,
-20
],
"parameters": {
"options": {},
"batchSize": "={{ $input.all().length }}"
},
"typeVersion": 3
},
{
"id": "b9d674fe-6c2e-4359-a415-98233caaa342",
"name": "Modelo de chat 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": "Código",
"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": "Memoria simple",
"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": "Agregar fila en hoja en Google Sheets",
"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 Request",
"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": "Nota adhesiva",
"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
}
]
]
}
}
}¿Cómo usar este flujo de trabajo?
Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.
¿En qué escenarios es adecuado este flujo de trabajo?
Intermedio - Productividad personal, Resumen de IA
¿Es de pago?
Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.
Flujos de trabajo relacionados recomendados
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
Compartir este flujo de trabajo