Mit Linear+Scrapeless+Claude erstellter KI-Forschungsassistent
Experte
Dies ist ein Market Research, AI Chatbot-Bereich Automatisierungsworkflow mit 17 Nodes. Hauptsächlich werden Code, Linear, Switch, LinearTrigger, Agent und andere Nodes verwendet. Ein KI-Forschungsassistent basierend auf Linear, Scrapeless und Claude
Voraussetzungen
- •Anthropic API Key
Verwendete Nodes (17)
Kategorie
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
"id": "yTpEZbAAFcS0Yp4m",
"meta": {
"instanceId": "7d291de9dc3bbf0106d65e069919a3de2507e3365a7b25788a79a3562af9bfc5",
"templateCredsSetupCompleted": true
},
"name": "Build an AI-Powered Research Assistant with Linear + Scrapeless + Claude",
"tags": [],
"nodes": [
{
"id": "9137108b-6a96-4264-bb3f-4f0dc5d5c7a5",
"name": "Linear Trigger",
"type": "n8n-nodes-base.linearTrigger",
"position": [
-580,
380
],
"webhookId": "22e62b88-a910-4075-8527-106d75769acd",
"parameters": {
"teamId": "3a89590a-2521-4c4a-b3b2-7e7ad5962666",
"resources": [
"issue",
"comment",
"reaction"
]
},
"credentials": {
"linearApi": {
"id": "glWOH78HS1At4s5K",
"name": "Linear account"
}
},
"typeVersion": 1
},
{
"id": "d49110c2-f5f9-4939-b2a3-4ee7b9c1aa77",
"name": "Schalter",
"type": "n8n-nodes-base.switch",
"position": [
-360,
260
],
"parameters": {
"mode": "expression",
"output": "={{\n $json.type === 'Issue' && $json.data.title.toLowerCase().includes('/search') ? 0 :\n $json.type === 'Issue' && $json.data.title.toLowerCase().includes('/trends') ? 1 :\n $json.type === 'Issue' && $json.data.title.toLowerCase().includes('/unlock') ? 2 :\n $json.type === 'Issue' && $json.data.title.toLowerCase().includes('/scrape') ? 3 :\n $json.type === 'Issue' && $json.data.title.toLowerCase().includes('/crawl') ? 4 :\n -1\n}}",
"numberOutputs": 5
},
"typeVersion": 3.2
},
{
"id": "627d13f1-1617-4a20-aa1f-2ae8cba643d6",
"name": "Google Search",
"type": "n8n-nodes-scrapeless.scrapeless",
"position": [
260,
60
],
"parameters": {
"q": "={{ $json.data.title }}"
},
"credentials": {
"scrapelessApi": {
"id": "B73pdQXNjpqNbIhs",
"name": "Scrapeless account"
}
},
"typeVersion": 1
},
{
"id": "16d29067-9aae-4159-8d31-37465885350d",
"name": "Google Trends",
"type": "n8n-nodes-scrapeless.scrapeless",
"position": [
260,
220
],
"parameters": {
"q": "={{ $json.data.title }}",
"operation": "googleTrends"
},
"credentials": {
"scrapelessApi": {
"id": "B73pdQXNjpqNbIhs",
"name": "Scrapeless account"
}
},
"typeVersion": 1
},
{
"id": "cadc6292-efcf-4dcf-bc1f-03ea1a6c1a75",
"name": "Web Unlocker",
"type": "n8n-nodes-scrapeless.scrapeless",
"position": [
260,
360
],
"parameters": {
"url": "={{ $json.data.title.replace(/\\/unlock/gi, '').trim() }}",
"headless": false,
"resource": "universalScrapingApi"
},
"credentials": {
"scrapelessApi": {
"id": "B73pdQXNjpqNbIhs",
"name": "Scrapeless account"
}
},
"typeVersion": 1
},
{
"id": "979d5139-2593-4975-afa7-2ac16d8bb5da",
"name": "Scrape",
"type": "n8n-nodes-scrapeless.scrapeless",
"position": [
260,
540
],
"parameters": {
"url": "={{ $json.data.title }}",
"resource": "crawler"
},
"credentials": {
"scrapelessApi": {
"id": "B73pdQXNjpqNbIhs",
"name": "Scrapeless account"
}
},
"typeVersion": 1
},
{
"id": "58658eec-316e-4fb2-8715-6f7efc49d381",
"name": "Crawl",
"type": "n8n-nodes-scrapeless.scrapeless",
"position": [
260,
700
],
"parameters": {
"url": "={{ $json.data.title }}",
"resource": "crawler",
"operation": "crawl",
"limitCrawlPages": 1
},
"credentials": {
"scrapelessApi": {
"id": "B73pdQXNjpqNbIhs",
"name": "Scrapeless account"
}
},
"typeVersion": 1
},
{
"id": "410d82d4-2bdf-4242-b6a3-32e508608be4",
"name": "Code2",
"type": "n8n-nodes-base.code",
"position": [
0,
0
],
"parameters": {
"jsCode": "const originalTitle = $json.data.title;\nlet cleanTitle = originalTitle;\n\nif (originalTitle.toLowerCase().includes('/search')) {\n cleanTitle = originalTitle.replace(/\\/search/gi, '').trim();\n} else if (originalTitle.toLowerCase().includes('/trends')) {\n cleanTitle = originalTitle.replace(/\\/trends/gi, '').trim();\n} else if (originalTitle.toLowerCase().includes('/unlock')) {\n cleanTitle = originalTitle.replace(/\\/unlock/gi, '').trim();\n} else if (originalTitle.toLowerCase().includes('/scrape')) {\n cleanTitle = originalTitle.replace(/\\/scrape/gi, '').trim();\n} else if (originalTitle.toLowerCase().includes('/crawl')) {\n cleanTitle = originalTitle.replace(/\\/crawl/gi, '').trim();\n}\n\nreturn {\n\n data: {\n ...($json.data),\n title: cleanTitle\n }\n};"
},
"typeVersion": 2
},
{
"id": "8f633954-262b-482d-aa29-3a97a0e8cbb6",
"name": "Code",
"type": "n8n-nodes-base.code",
"position": [
580,
340
],
"parameters": {
"mode": "runOnceForEachItem",
"jsCode": "return {\n output: JSON.stringify($json, null, 2)\n};"
},
"typeVersion": 2
},
{
"id": "d8e55c8c-857b-403e-b2ee-afc1253d7aba",
"name": "Code3",
"type": "n8n-nodes-base.code",
"position": [
0,
180
],
"parameters": {
"mode": "runOnceForEachItem",
"jsCode": "const originalTitle = $json.data.title;\nlet cleanTitle = originalTitle;\n\nif (originalTitle.toLowerCase().includes('/search')) {\n cleanTitle = originalTitle.replace(/\\/search/gi, '').trim();\n} else if (originalTitle.toLowerCase().includes('/trends')) {\n cleanTitle = originalTitle.replace(/\\/trends/gi, '').trim();\n} else if (originalTitle.toLowerCase().includes('/unlock')) {\n cleanTitle = originalTitle.replace(/\\/unlock/gi, '').trim();\n} else if (originalTitle.toLowerCase().includes('/scrape')) {\n cleanTitle = originalTitle.replace(/\\/scrape/gi, '').trim();\n} else if (originalTitle.toLowerCase().includes('/crawl')) {\n cleanTitle = originalTitle.replace(/\\/crawl/gi, '').trim();\n}\n\nreturn {\n\n data: {\n ...($json.data),\n title: cleanTitle\n }\n};"
},
"typeVersion": 2
},
{
"id": "9e9a315e-6915-41a2-b77c-d46c773b9891",
"name": "Code4",
"type": "n8n-nodes-base.code",
"position": [
20,
360
],
"parameters": {
"jsCode": "const originalTitle = $json.data.title;\nlet cleanTitle = originalTitle;\n\nif (originalTitle.toLowerCase().includes('/search')) {\n cleanTitle = originalTitle.replace(/\\/search/gi, '').trim();\n} else if (originalTitle.toLowerCase().includes('/trends')) {\n cleanTitle = originalTitle.replace(/\\/trends/gi, '').trim();\n} else if (originalTitle.toLowerCase().includes('/unlock')) {\n cleanTitle = originalTitle.replace(/\\/unlock/gi, '').trim();\n} else if (originalTitle.toLowerCase().includes('/scrape')) {\n cleanTitle = originalTitle.replace(/\\/scrape/gi, '').trim();\n} else if (originalTitle.toLowerCase().includes('/crawl')) {\n cleanTitle = originalTitle.replace(/\\/crawl/gi, '').trim();\n}\n\nreturn {\n\n data: {\n ...($json.data),\n title: cleanTitle\n }\n};"
},
"typeVersion": 2
},
{
"id": "c076a7a6-c901-481d-8037-f1e06be1f8e4",
"name": "Code5",
"type": "n8n-nodes-base.code",
"position": [
20,
520
],
"parameters": {
"jsCode": "const originalTitle = $json.data.title;\nlet cleanTitle = originalTitle;\n\nif (originalTitle.toLowerCase().includes('/search')) {\n cleanTitle = originalTitle.replace(/\\/search/gi, '').trim();\n} else if (originalTitle.toLowerCase().includes('/trends')) {\n cleanTitle = originalTitle.replace(/\\/trends/gi, '').trim();\n} else if (originalTitle.toLowerCase().includes('/unlock')) {\n cleanTitle = originalTitle.replace(/\\/unlock/gi, '').trim();\n} else if (originalTitle.toLowerCase().includes('/scrape')) {\n cleanTitle = originalTitle.replace(/\\/scrape/gi, '').trim();\n} else if (originalTitle.toLowerCase().includes('/crawl')) {\n cleanTitle = originalTitle.replace(/\\/crawl/gi, '').trim();\n}\n\nreturn {\n\n data: {\n ...($json.data),\n title: cleanTitle\n }\n};"
},
"typeVersion": 2
},
{
"id": "b9e6ac08-8f3c-40cc-b183-a4303d9801cd",
"name": "Code6",
"type": "n8n-nodes-base.code",
"position": [
20,
720
],
"parameters": {
"jsCode": "const originalTitle = $json.data.title;\nlet cleanTitle = originalTitle;\n\nif (originalTitle.toLowerCase().includes('/search')) {\n cleanTitle = originalTitle.replace(/\\/search/gi, '').trim();\n} else if (originalTitle.toLowerCase().includes('/trends')) {\n cleanTitle = originalTitle.replace(/\\/trends/gi, '').trim();\n} else if (originalTitle.toLowerCase().includes('/unlock')) {\n cleanTitle = originalTitle.replace(/\\/unlock/gi, '').trim();\n} else if (originalTitle.toLowerCase().includes('/scrape')) {\n cleanTitle = originalTitle.replace(/\\/scrape/gi, '').trim();\n} else if (originalTitle.toLowerCase().includes('/crawl')) {\n cleanTitle = originalTitle.replace(/\\/crawl/gi, '').trim();\n}\n\nreturn {\n\n data: {\n ...($json.data),\n title: cleanTitle\n }\n};"
},
"typeVersion": 2
},
{
"id": "96631700-d64b-41f7-ba06-263be9acd76e",
"name": "KI-Agent1",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1040,
420
],
"parameters": {
"text": "={{ $json.output }}",
"options": {
"systemMessage": "You are a data analyst. Summarize search/scrape results concisely. Be factual and brief. Format for Linear comments.\n\nAnalyze the provided data and create a structured summary that includes:\n- Key findings and insights\n- Data source and reliability assessment \n- Actionable recommendations\n- Relevant metrics and trends\n- Next steps for further research\n\nFormat your response with clear headers and bullet points for easy reading in Linear."
},
"promptType": "define"
},
"typeVersion": 2
},
{
"id": "300d7264-86df-485a-9183-ed42df732ccc",
"name": "Anthropic-Chat-Modell1",
"type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
"position": [
980,
720
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "claude-sonnet-4-20250514",
"cachedResultName": "Claude 4 Sonnet"
},
"options": {
"temperature": 0.3,
"maxTokensToSample": 4000
}
},
"credentials": {
"anthropicApi": {
"id": "21C7G7zPQRFyxp1T",
"name": "Anthropic account"
}
},
"typeVersion": 1.3
},
{
"id": "20f412e2-4081-40a7-a458-af7b2908cc44",
"name": "Code7",
"type": "n8n-nodes-base.code",
"position": [
1540,
600
],
"parameters": {
"jsCode": "return {\n output: $json.output\n .replace(/\\\\n/g, '\\n')\n .replace(/\\\\\"/g, '\"')\n .replace(/\\\\\\\\/g, '\\\\')\n .trim()\n};"
},
"typeVersion": 2
},
{
"id": "4379cc64-3b20-4ad5-a62b-470da3338cf8",
"name": "Add a comment to an issue1",
"type": "n8n-nodes-base.linear",
"position": [
1760,
600
],
"parameters": {
"comment": "={{ $json.output }}",
"issueId": "={{ $('Linear Trigger').item.json.data.id }}",
"resource": "comment",
"additionalFields": {}
},
"credentials": {
"linearApi": {
"id": "glWOH78HS1At4s5K",
"name": "Linear account"
}
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "e01eaa88-0eff-40de-b80b-51ca1bcd3acb",
"connections": {
"8f633954-262b-482d-aa29-3a97a0e8cbb6": {
"main": [
[
{
"node": "AI Agent1",
"type": "main",
"index": 0
}
]
]
},
"410d82d4-2bdf-4242-b6a3-32e508608be4": {
"main": [
[
{
"node": "627d13f1-1617-4a20-aa1f-2ae8cba643d6",
"type": "main",
"index": 0
}
]
]
},
"d8e55c8c-857b-403e-b2ee-afc1253d7aba": {
"main": [
[
{
"node": "16d29067-9aae-4159-8d31-37465885350d",
"type": "main",
"index": 0
}
]
]
},
"9e9a315e-6915-41a2-b77c-d46c773b9891": {
"main": [
[
{
"node": "cadc6292-efcf-4dcf-bc1f-03ea1a6c1a75",
"type": "main",
"index": 0
}
]
]
},
"c076a7a6-c901-481d-8037-f1e06be1f8e4": {
"main": [
[
{
"node": "979d5139-2593-4975-afa7-2ac16d8bb5da",
"type": "main",
"index": 0
}
]
]
},
"b9e6ac08-8f3c-40cc-b183-a4303d9801cd": {
"main": [
[
{
"node": "58658eec-316e-4fb2-8715-6f7efc49d381",
"type": "main",
"index": 0
}
]
]
},
"20f412e2-4081-40a7-a458-af7b2908cc44": {
"main": [
[
{
"node": "4379cc64-3b20-4ad5-a62b-470da3338cf8",
"type": "main",
"index": 0
}
]
]
},
"58658eec-316e-4fb2-8715-6f7efc49d381": {
"main": [
[
{
"node": "8f633954-262b-482d-aa29-3a97a0e8cbb6",
"type": "main",
"index": 0
}
]
]
},
"979d5139-2593-4975-afa7-2ac16d8bb5da": {
"main": [
[
{
"node": "8f633954-262b-482d-aa29-3a97a0e8cbb6",
"type": "main",
"index": 0
}
]
]
},
"Switch": {
"main": [
[
{
"node": "410d82d4-2bdf-4242-b6a3-32e508608be4",
"type": "main",
"index": 0
}
],
[
{
"node": "d8e55c8c-857b-403e-b2ee-afc1253d7aba",
"type": "main",
"index": 0
}
],
[
{
"node": "9e9a315e-6915-41a2-b77c-d46c773b9891",
"type": "main",
"index": 0
}
],
[
{
"node": "c076a7a6-c901-481d-8037-f1e06be1f8e4",
"type": "main",
"index": 0
}
],
[
{
"node": "b9e6ac08-8f3c-40cc-b183-a4303d9801cd",
"type": "main",
"index": 0
}
]
]
},
"AI Agent1": {
"main": [
[
{
"node": "20f412e2-4081-40a7-a458-af7b2908cc44",
"type": "main",
"index": 0
}
]
]
},
"cadc6292-efcf-4dcf-bc1f-03ea1a6c1a75": {
"main": [
[
{
"node": "8f633954-262b-482d-aa29-3a97a0e8cbb6",
"type": "main",
"index": 0
}
]
]
},
"627d13f1-1617-4a20-aa1f-2ae8cba643d6": {
"main": [
[
{
"node": "8f633954-262b-482d-aa29-3a97a0e8cbb6",
"type": "main",
"index": 0
}
]
]
},
"16d29067-9aae-4159-8d31-37465885350d": {
"main": [
[
{
"node": "8f633954-262b-482d-aa29-3a97a0e8cbb6",
"type": "main",
"index": 0
}
]
]
},
"9137108b-6a96-4264-bb3f-4f0dc5d5c7a5": {
"main": [
[
{
"node": "Switch",
"type": "main",
"index": 0
}
]
]
},
"Anthropic Chat Model1": {
"ai_languageModel": [
[
{
"node": "AI Agent1",
"type": "ai_languageModel",
"index": 0
}
]
]
}
}
}Häufig gestellte Fragen
Wie verwende ich diesen Workflow?
Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.
Für welche Szenarien ist dieser Workflow geeignet?
Experte - Marktforschung, KI-Chatbot
Ist es kostenpflichtig?
Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.
Verwandte Workflows
Automatisierte Erstellung von Wettbewerbsvergleichskarten mit Echtzeit-Verkaufsinformationen
Automatisiertes Erstellen von Wettbewerbsvergleichskarten (Klue-Alternative) mit AI, Slack und Notion
Code
Merge
Slack
+
Code
Merge
Slack
58 NodesConnor Provines
Marktforschung
Steigern Sie den Traffic Ihrer Website
Claude AI, Scrapeless und wettbewerbsfähige Produktanalyse automatisierte SEO-Content-Engine
Set
Code
Filter
+
Set
Code
Filter
26 Nodesscrapeless official
Content-Erstellung
Automatisierter Immobilien-Extraktor
Automatisierung der Immobilienobjekterfassung mit Scrapeless und Google Tabellen
Code
Google Sheets
Schedule Trigger
+
Code
Google Sheets
Schedule Trigger
7 Nodesscrapeless official
Marktforschung
Automatische Antwort auf Gmail-E-Mails und Erstellung von Linear-Tickets mit GPT-5, gotoHuman und manueller Prüfung
Automatische Beantwortung von Gmail-Anfragen und Erstellung von Linear-Tickets mit GPT-5, gotoHuman und manueller Überprüfung
Set
Code
Gmail
+
Set
Code
Gmail
37 NodesgotoHuman
Ticketverwaltung
Automatisierung von WhatsApp-Antworten in Go High Level mit Redis und Anthropic
Automatisierte WhatsApp-Antworten mit Go High Level, Redis und Anthropic
If
Set
Code
+
If
Set
Code
31 NodesJorge Martínez
KI-Chatbot
KI-gesteuerter SEO-Blog-Schreiber
SEO-optimierte Blog-Inhalte mit Gemini, Scrapeless und Pinecone RAG generieren
Set
Code
Html
+
Set
Code
Html
28 Nodesscrapeless official
Content-Erstellung
Workflow-Informationen
Schwierigkeitsgrad
Experte
Anzahl der Nodes17
Kategorie2
Node-Typen7
Autor
scrapeless official
@scrapelessofficialExterne Links
Auf n8n.io ansehen →
Diesen Workflow teilen