Files
homelab-agents/n8n-skool/ai-termimal-skool-workflow-template.json
Pete Marfleet d14832cfa6 Add Skool + n8n integration documentation and workflow template
Created comprehensive setup guide for syncing Skool community members to email lists via n8n. Includes browser token extraction guide, n8n workflow template, and configuration examples for multiple email platforms (ConvertKit, Mailchimp, ActiveCampaign, SendGrid).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 23:00:07 +00:00

380 lines
8.6 KiB
JSON

{
"name": "Skool to Email List Sync",
"nodes": [
{
"parameters": {
"rule": {
"interval": [
{
"field": "hours",
"hoursInterval": 2
}
]
}
},
"name": "Schedule Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"typeVersion": 1,
"position": [250, 300]
},
{
"parameters": {
"method": "POST",
"url": "https://api.school.com/api/request-bulk-action",
"sendQuery": true,
"queryParameters": {
"parameters": [
{
"name": "type",
"value": "bulk-export-csv"
},
{
"name": "all-members-selected",
"value": "true"
},
{
"name": "members-status",
"value": "active"
}
]
},
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "accept",
"value": "*/*"
},
{
"name": "accept-encoding",
"value": "gzip, deflate, br"
},
{
"name": "accept-language",
"value": "en-US,en;q=0.9"
},
{
"name": "cache-control",
"value": "no-cache"
},
{
"name": "content-type",
"value": "application/json"
},
{
"name": "Cookie",
"value": "YOUR_COOKIE_HERE"
},
{
"name": "origin",
"value": "https://www.school.com"
},
{
"name": "referer",
"value": "https://www.school.com"
},
{
"name": "user-agent",
"value": "YOUR_USER_AGENT_HERE"
},
{
"name": "x-aws-waf-token",
"value": "YOUR_AWS_WAF_TOKEN_HERE"
},
{
"name": "cookie",
"value": "YOUR_COOKIE_HERE"
}
]
},
"sendBody": true,
"bodyParameters": {
"parameters": []
},
"jsonParameters": true,
"body": "{\"action\":\"bulk-export\",\"filters\":{}}"
},
"name": "Export Members Request",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 1,
"position": [450, 300],
"notes": "Requests CSV export of all members"
},
{
"parameters": {
"method": "GET",
"url": "=https://api.school.com/api/files/{{ $json.fileId }}/download-url",
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "accept",
"value": "*/*"
},
{
"name": "Cookie",
"value": "YOUR_COOKIE_HERE"
},
{
"name": "user-agent",
"value": "YOUR_USER_AGENT_HERE"
},
{
"name": "x-aws-waf-token",
"value": "YOUR_AWS_WAF_TOKEN_HERE"
},
{
"name": "cookie",
"value": "YOUR_COOKIE_HERE"
}
]
}
},
"name": "Get Download URL",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 1,
"position": [650, 300],
"notes": "Retrieves the download URL for the CSV file"
},
{
"parameters": {
"method": "GET",
"url": "={{ $json.data }}",
"sendQuery": true,
"queryParameters": {
"parameters": [
{
"name": "Expires",
"value": "YOUR_EXPIRES_VALUE"
},
{
"name": "Signature",
"value": "YOUR_SIGNATURE_VALUE"
},
{
"name": "Key-Pair-Id",
"value": "YOUR_KEY_PAIR_ID"
}
]
},
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "Cookie",
"value": "YOUR_COOKIE_HERE"
},
{
"name": "user-agent",
"value": "YOUR_USER_AGENT_HERE"
}
]
},
"options": {}
},
"name": "Download CSV",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 1,
"position": [850, 300],
"notes": "Downloads the actual CSV file"
},
{
"parameters": {
"binaryPropertyName": "data",
"fileFormat": "csv",
"options": {}
},
"name": "Extract CSV Data",
"type": "n8n-nodes-base.extractFromFile",
"typeVersion": 1,
"position": [1050, 300],
"notes": "Parses CSV into JSON objects"
},
{
"parameters": {
"maxItems": 15,
"keep": "firstItems"
},
"name": "Limit to Recent Members",
"type": "n8n-nodes-base.limit",
"typeVersion": 1,
"position": [1250, 300],
"notes": "Only check the most recent 15 members (adjust based on your needs)"
},
{
"parameters": {},
"name": "Loop Over Members",
"type": "n8n-nodes-base.splitInBatches",
"typeVersion": 1,
"position": [1450, 300],
"notes": "Process each member one by one"
},
{
"parameters": {
"conditions": {
"boolean": [],
"number": [],
"string": [
{
"value1": "={{ $json.email }}",
"operation": "isNotEmpty"
}
]
}
},
"name": "Check if Member Has Email",
"type": "n8n-nodes-base.if",
"typeVersion": 1,
"position": [1650, 300],
"notes": "Basic validation - customize based on your email platform API"
},
{
"parameters": {
"mode": "passThrough",
"options": {}
},
"name": "Add to Email List",
"type": "n8n-nodes-base.noOp",
"typeVersion": 1,
"position": [1850, 200],
"notes": "REPLACE THIS: Add your email platform node here (ConvertKit, Mailchimp, etc.)"
},
{
"parameters": {
"mode": "passThrough",
"options": {}
},
"name": "Skip - Already Exists",
"type": "n8n-nodes-base.noOp",
"typeVersion": 1,
"position": [1850, 400],
"notes": "Member already in system, skip to next"
}
],
"connections": {
"Schedule Trigger": {
"main": [
[
{
"node": "Export Members Request",
"type": "main",
"index": 0
}
]
]
},
"Export Members Request": {
"main": [
[
{
"node": "Get Download URL",
"type": "main",
"index": 0
}
]
]
},
"Get Download URL": {
"main": [
[
{
"node": "Download CSV",
"type": "main",
"index": 0
}
]
]
},
"Download CSV": {
"main": [
[
{
"node": "Extract CSV Data",
"type": "main",
"index": 0
}
]
]
},
"Extract CSV Data": {
"main": [
[
{
"node": "Limit to Recent Members",
"type": "main",
"index": 0
}
]
]
},
"Limit to Recent Members": {
"main": [
[
{
"node": "Loop Over Members",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Members": {
"main": [
[
{
"node": "Check if Member Has Email",
"type": "main",
"index": 0
}
]
]
},
"Check if Member Has Email": {
"main": [
[
{
"node": "Add to Email List",
"type": "main",
"index": 0
}
],
[
{
"node": "Skip - Already Exists",
"type": "main",
"index": 0
}
]
]
},
"Add to Email List": {
"main": [
[
{
"node": "Loop Over Members",
"type": "main",
"index": 0
}
]
]
},
"Skip - Already Exists": {
"main": [
[
{
"node": "Loop Over Members",
"type": "main",
"index": 0
}
]
]
}
},
"settings": {},
"staticData": null,
"tags": [],
"meta": {
"instanceId": "skool-sync-template"
}
}