WORKFLOW · N8N
SocialPulse Lite — Single Source Monitor (Reddit Only)
Prompts👁 0
WORKFLOW JSON
{
"meta": {
"instanceId": "socialpulse-lite-v1"
},
"name": "SocialPulse Lite — Single Source Monitor (Reddit Only)",
"tags": [
{
"id": "socialpulse",
"name": "SocialPulse"
},
{
"id": "autoflow",
"name": "AutoFlow"
},
{
"id": "lite",
"name": "Lite"
}
],
"nodes": [
{
"id": "trigger",
"name": "Run Daily (9 AM)",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
200,
400
],
"parameters": {
"rule": {
"interval": [
{
"field": "cronExpression",
"expression": "0 9 * * *"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "fetch-reddit",
"name": "Reddit: Fetch Posts",
"type": "n8n-nodes-base.httpRequest",
"maxTries": 2,
"position": [
440,
400
],
"parameters": {
"url": "=https://www.reddit.com/r/{{ $env.SOCIALPULSE_SUBREDDITS?.split(',')[0]?.trim() || 'SaaS' }}/hot.json?limit=20",
"method": "GET",
"options": {
"timeout": 15000
},
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "User-Agent",
"value": "SocialPulse/1.0"
}
]
}
},
"retryOnFail": true,
"typeVersion": 4.2,
"waitBetweenTries": 5000
},
{
"id": "parse",
"name": "Parse & Rank Posts",
"type": "n8n-nodes-base.code",
"position": [
680,
400
],
"parameters": {
"jsCode": "try {\n const reddit = $input.first().json;\n const posts = (reddit?.data?.children || []).map(c => ({ title: c.data?.title || '', score: c.data?.score || 0, comments: c.data?.num_comments || 0, url: 'https://reddit.com' + (c.data?.permalink || ''), subreddit: c.data?.subreddit || '' })).filter(p => p.score > 3).sort((a,b) => b.score - a.score).slice(0, 15);\n return [{ json: { totalPosts: posts.length, posts, scannedAt: new Date().toISOString() } }];\n} catch (e) {\n throw new Error('Failed to parse Reddit data: ' + e.message);\n}"
},
"typeVersion": 2
},
{
"id": "ai-analyze",
"name": "AI: Quick Analysis",
"type": "n8n-nodes-base.openAi",
"maxTries": 3,
"position": [
920,
400
],
"parameters": {
"model": "gpt-4o-mini",
"options": {
"maxTokens": 800,
"temperature": 0.5,
"responseFormat": "json_object"
},
"messages": {
"values": [
{
"role": "system",
"content": "Analyze these Reddit posts. Find 3 trending topics and suggest 2 content ideas. JSON: { \"trends\": [\"topic1\"], \"contentIdeas\": [{ \"idea\": \"...\", \"platform\": \"Twitter\" }], \"sentiment\": \"positive/neutral/negative\" }"
},
{
"role": "user",
"content": "=Top Reddit posts:\n{{ $json.posts.map((p,i) => (i+1) + '. ' + p.title + ' (score:' + p.score + ')').join('\\n') }}"
}
]
}
},
"retryOnFail": true,
"typeVersion": 1.8,
"waitBetweenTries": 2000
},
{
"id": "merge",
"name": "Merge Results",
"type": "n8n-nodes-base.code",
"position": [
1140,
400
],
"parameters": {
"jsCode": "try {\n const data = $('Parse & Rank Posts').first().json;\n const aiRaw = $input.first().json;\n let ai;\n try { ai = JSON.parse(aiRaw.message?.content || '{}'); } catch(e) { ai = { trends: [], contentIdeas: [], sentiment: 'unknown' }; }\n return [{ json: { ...data, analysis: ai } }];\n} catch (e) {\n throw new Error('Failed to merge: ' + e.message);\n}"
},
"typeVersion": 2
},
{
"id": "save-sheets",
"name": "Log to Sheets",
"type": "n8n-nodes-base.googleSheets",
"maxTries": 2,
"position": [
1380,
400
],
"parameters": {
"columns": {
"value": {
"Date": "={{ $json.scannedAt }}",
"Posts": "={{ $json.totalPosts }}",
"Trends": "={{ JSON.stringify($json.analysis.trends) }}",
"Sentiment": "={{ $json.analysis.sentiment }}",
"Content Ideas": "={{ JSON.stringify($json.analysis.contentIdeas) }}"
},
"mappingMode": "defineBelow"
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "name",
"value": "Lite Log"
},
"documentId": {
"__rl": true,
"mode": "id",
"value": "={{ $env.SOCIALPULSE_SHEET_ID }}"
}
},
"retryOnFail": true,
"typeVersion": 4.5
},
{
"id": "note",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
120,
200
],
"parameters": {
"color": 6,
"width": 280,
"height": 160,
"content": "## SocialPulse Lite\n\nReddit-only monitoring.\nDaily scan, quick AI analysis.\nPerfect for testing before\nenabling full 3-source scan."
},
"typeVersion": 1
}
],
"settings": {
"executionOrder": "v1",
"saveManualExecutions": true
},
"connections": {
"Merge Results": {
"main": [
[
{
"node": "Log to Sheets",
"type": "main",
"index": 0
}
]
]
},
"Run Daily (9 AM)": {
"main": [
[
{
"node": "Reddit: Fetch Posts",
"type": "main",
"index": 0
}
]
]
},
"AI: Quick Analysis": {
"main": [
[
{
"node": "Merge Results",
"type": "main",
"index": 0
}
]
]
},
"Parse & Rank Posts": {
"main": [
[
{
"node": "AI: Quick Analysis",
"type": "main",
"index": 0
}
]
]
},
"Reddit: Fetch Posts": {
"main": [
[
{
"node": "Parse & Rank Posts",
"type": "main",
"index": 0
}
]
]
}
}
}RELATED WORKFLOWS
COMMENTS
No comments yet — be the first.
