Skip to main content

n8n-marketing-flows

Open-source n8n workflow templates for marketing automation (social media, sentiment monitoring, news aggregation, ad management, AI content generation)

Aller à l'installation

Informations de source

Dépôt
reason-machines/marketing-skills
Dernière activité de la source
27 juin 2026 à 16:29
Langue détectée de SKILL.md
anglais
Étoiles
10
Forks
1

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
n8n-marketing-flows
description
Open-source n8n workflow templates for marketing automation (social media, sentiment monitoring, news aggregation, ad management, AI content generation)
triggers
["set up n8n marketing automation workflows","import marketing workflow templates into n8n","automate social media posting with n8n","monitor brand sentiment using n8n","create AI-powered content workflows in n8n","build marketing automation without code","connect Ollama to n8n for free AI workflows","automatically pause Facebook ads based on performance"]
# n8n Marketing Flows Skill > Skill by [ara.so](https://ara.so) — Marketing Skills collection. ## What It Is **n8n-marketing-flows** is a collection of 79+ ready-to-import n8n workflow templates for marketing automation. It covers: - **Social media** publishing and hashtag generation - **Sentiment monitoring** (PTT, social platforms) - **News aggregation** and AI summaries - **Ad management** (auto-pause low performers) - **AI content generation** (posts, images, video) - **Performance analytics** and reporting Each workflow is a JSON file you import into [n8n](https://n8n.io) (self-hosted or cloud), connect your API keys, and activate. **Two versions per workflow:** - `*.json` — Standard (uses Claude/OpenAI + Email/Slack) - `*.local-ollama.json` — **Free local** (uses local Ollama, no API keys needed) - `*.skeleton.json` — **Credential template** (architecture ready, you fill in API keys) ## Installation ### 1. Set Up n8n **Option A: Docker (self-hosted)** ```bash docker run -it --rm \ --name n8n \ -p 5678:5678 \ -v ~/.n8n:/home/node/.n8n \ n8nio/n8n ``` Access at `http://localhost:5678` **Option B: n8n Cloud** Sign up at https://n8n.io (free tier available) **Option C: npm** ```bash npm install -g n8n n8n start ``` ### 2. Clone the Template Repository ```bash git clone https://github.com/YuriCrystal/n8n-marketing-flows.git cd n8n-marketing-flows ``` ### 3. Import a Workflow 1. In n8n UI: **⋯ menu** (top right) → **Import from File** 2. Select a JSON file from `templates/` 3. Configure credentials (see below) 4. Click **Save** and **Activate** ## Project Structure ``` n8n-marketing-flows/ ├── templates/ │ ├── 01-weekly-ai-news-digest.json │ ├── 01-weekly-ai-news-digest.local-ollama.json │ ├── 02-social-hashtag-generator.json │ ├── 04-ptt-sentiment-monitor.local-ollama.json │ ├── 90-viral-social-post.json │ ├── 91-webhook-bridge.json │ └── [59 more *.skeleton.json templates] ├── docs/ │ ├── 01-weekly-ai-news-digest.md │ └── 91-webhook-bridge.md ├── ROADMAP.md ├── CREDITS.md └── README.md ``` ## Key Workflow Types ### 1. **Free Local Workflows** (19 files, `*.local-ollama.json`) Uses **Ollama** (free, runs locally) + public data sources (RSS, web scraping). No API keys required. **Example: Weekly AI News Digest** ```bash # Start Ollama locally ollama pull llama3.2 # Import templates/01-weekly-ai-news-digest.local-ollama.json # Configure: # - RSS feeds: TechCrunch, Hacker News, etc. # - Schedule: Every Monday 9am # - Output: Discord webhook or n8n display ``` ### 2. **Standard Workflows** (uses Claude/OpenAI) Requires **Anthropic** or **OpenAI** API key. **Setup credentials in n8n:** ``` Settings → Credentials → Add → Anthropic/OpenAI API Key: <your key from env> Default Model: claude-haiku-4-5 (or gpt-4o-mini) ``` ### 3. **Platform Integration Skeletons** (59 files, `*.skeleton.json`) Pre-built architecture for: - **Meta Graph API** (Facebook, Instagram, Threads) - **Google Sheets** (data export) - **YouTube Data API** (analytics) - **WordPress REST API** (auto-publish) - **Meta Marketing API** (ad management) **These require YOUR platform API keys** — see credential sections below. ## Core Workflows ### Social Media Posting **Workflow 02: Generate Hashtags for Post** ```json // Input: Post text + platform (Instagram/Facebook/Threads) // Output: Optimized hashtags // Usage in n8n: Webhook → HTTP Request (LLM) → Set (format) → Respond ``` **Example prompt to LLM node:** ```javascript // In "Prompt" field of HTTP Request node: `Generate 5-10 hashtags for this {{ $json.platform }} post: "{{ $json.postText }}" Rules: - Instagram: Mix popular + niche, under 30 chars each - Facebook: 3-5 broad hashtags - Threads: Conversational, 5-7 hashtags Return only hashtags, space-separated.` ``` **Import `templates/02-social-hashtag-generator.json`** and customize the prompt. ### Sentiment Monitoring **Workflow 04: PTT Forum Monitor** Scrapes PTT (Taiwan's largest forum), detects mentions, sends alerts. ```javascript // In HTTP Request node (scrape PTT): { "method": "GET", "url": "https://www.ptt.cc/bbs/{{ $json.board }}/index.html", "headers": { "Cookie": "over18=1" // Age verification } } // In Code node (filter mentions): const keyword = "{{ $json.brandName }}"; const posts = $input.all(); return posts.filter(p => p.json.title.includes(keyword) || p.json.content.includes(keyword) ); ``` **Import `templates/04-ptt-sentiment-monitor.local-ollama.json`** ### AI Content Generation **Workflow 90: Viral Social Post Generator** Uses反主流 (counter-mainstream) formula from Hao's research (see CREDITS.md). ```javascript // LLM prompt structure: `You are a social media expert. Generate a viral post using this formula: 1. **Hook** (first line): Controversial or counter-intuitive 2. **Contrast**: "Everyone says X, but actually Y" 3. **Story**: Personal anecdote or data 4. **CTA**: "What's your experience?" Topic: {{ $json.topic }} Platform: {{ $json.platform }} Tone: {{ $json.tone }} Output 3 variations under 280 chars each.` ``` **Import `templates/90-viral-social-post.json`** or `.local-ollama.json` version. ### Webhook Bridge for External Tools **Workflow 91: Webhook Bridge** Allows AI agents, Zapier, Make.com, or scripts to call n8n workflows via HTTP. ```bash # Activate workflow 91, get webhook URL: # https://your-n8n.com/webhook/marketing-flow # Call from code: curl -X POST https://your-n8n.com/webhook/marketing-flow \ -H "Content-Type: application/json" \ -d '{ "action": "generatePost", "topic": "AI automation trends", "platform": "linkedin" }' # Returns JSON with generated content ``` **In n8n workflow:** ```javascript // Webhook node receives POST // Switch node routes by $json.action // LLM node generates content // Respond to Webhook node returns JSON ``` ## Configuration Patterns ### Switching LLM Providers **Claude (default)** ```javascript // HTTP Request node: { "url": "https://api.anthropic.com/v1/messages", "method": "POST", "headers": { "x-api-key": "{{ $credentials.anthropicApiKey }}", "anthropic-version": "2023-06-01" }, "body": { "model": "claude-haiku-4-5", "messages": [{"role": "user", "content": "{{ $json.prompt }}"}] } } ``` **OpenAI** ```javascript { "url": "https://api.openai.com/v1/chat/completions", "method": "POST", "headers": { "Authorization": "Bearer {{ $credentials.openaiApiKey }}" }, "body": { "model": "gpt-4o-mini", "messages": [{"role": "user", "content": "{{ $json.prompt }}"}] } } ``` **Local Ollama** (free) ```javascript { "url": "http://localhost:11434/api/generate", "method": "POST", "body": { "model": "llama3.2", "prompt": "{{ $json.prompt }}", "stream": false } } ``` ### Notification Channels **Email (SMTP)** ```javascript // Send Email node: To: process.env.ALERT_EMAIL Subject: [Alert] {{ $json.title }} Body: {{ $json.summary }} ``` **Discord Webhook** ```bash # Get webhook URL from Discord server settings # In HTTP Request node: POST https://discord.com/api/webhooks/YOUR_WEBHOOK_ID/TOKEN { "content": "🚨 New mention detected", "embeds": [{ "title": "{{ $json.title }}", "url": "{{ $json.link }}", "color": 15258703 }] } ``` **Slack** ```javascript // Slack node (requires Slack app): Channel: #marketing-alerts Message: :warning: {{ $json.alert }} ``` ### Scheduling ```javascript // Cron node examples: // Every Monday 9am: 0 9 * * 1 // Every 6 hours: 0 */6 * * * // Weekdays at 10am: 0 10 * * 1-5 ``` ## Credential Setup ### Anthropic (Claude) ```bash # Get key: https://console.anthropic.com/settings/keys # In n8n: Credentials → Anthropic API API_KEY=your_anthropic_key ``` ### OpenAI ```bash # Get key: https://platform.openai.com/api-keys # In n8n: Credentials → OpenAI API_KEY=your_openai_key ``` ### Meta Graph API (Facebook/Instagram) ```bash # Create app: https://developers.facebook.com # Get access token with pages_read_engagement, pages_manage_posts # In n8n: Credentials → HTTP Request (Bearer Token) ACCESS_TOKEN=your_meta_token ``` **Use in workflow:** ```javascript // Get Instagram posts: GET https://graph.facebook.com/v18.0/me/media ?fields=id,caption,like_count,timestamp &access_token={{ $credentials.metaToken }} ``` ### Google Sheets ```bash # In n8n: Credentials → Google Sheets API → OAuth2 # Follow OAuth flow, authorize scopes: # https://www.googleapis.com/auth/spreadsheets ``` ## Common Use Cases ### 1. Weekly News Summary ```bash # Import: templates/01-weekly-ai-news-digest.local-ollama.json # Modify RSS feeds in RSS Read node: - https://techcrunch.com/feed/ - https://news.ycombinator.com/rss - https://www.theverge.com/rss/index.xml # Change schedule in Cron node: 0 9 * * 1 (Monday 9am) # Output to Discord webhook: POST https://discord.com/api/webhooks/YOUR_ID/TOKEN { "content": "📰 This week's AI news:\n\n{{ $json.summary }}" } ``` ### 2. Auto-Pause Low-Performing Ads ```bash # Import: templates/fb-ad-auto-pause.skeleton.json # Configure Meta Marketing API credentials # Set threshold in IF node: {{ $json.ctr }} < 0.01 // Click-through rate below 1% # HTTP Request node: POST https://graph.facebook.com/v18.0/{{ $json.adId }} { "status": "PAUSED", "access_token": "{{ $credentials.metaToken }}" } ```
Voir sur GitHub
Ce SKILL.md est tres volumineux, SkillsMP affiche donc ici seulement la premiere section. Voir sur GitHub