π€ Automated Social Media Content Engine: From RSS to Published Post with GetLate
π Automate your social media presence! This workflow duo automatically curates content from your Wallabag RSS feeds, generates platform-specific posts using AI, and publishes themβcomplete with AI-generated images.
βοΈ Setup & Configuration
Required Credentials & Services:
To run this workflow, you will need to set up the following credentials in n8n:
* **Wallabag RSS Feeds:** This workflow uses Wallabag as your content curation service. Wallabag is the most cost-effective optionβeasy to self-host or use as a paid service. You'll need to generate access tokens for RSS feed access.
* **Airtable API Key:** To create and update records in your "Content Store" database.
* **LLM Provider API Key:** To power the social media content generation. The demo uses **Groq (llama-3.3-70b-versatile)**, but this can be replaced with any preferred LLM (OpenAI, Anthropic, etc.).
* **GetLate API Key:** To authenticate and post to your social media platforms.
* **Imgbb API Key:** To host the AI-generated images.
* **An Image Generation Service API Key:** For creating images from prompts. The demo uses **Hugging Face (stable-diffusion-xl-base-1.0)**, but this can be swapped for any other service (Fal.ai, Stability AI, etc.).
Key Setup Requirement: Define Your Tagging Convention
Before running this workflow, establish a consistent tagging system in Wallabag where each tag corresponds to a specific social media platform. For example:
* `#to-share-linkedin` for LinkedIn content
* `#to-share-bluesky` for Bluesky content
* `#to-share-instagram` for Instagram content
Adding More Feeds & Platforms:
* **New Feeds:** Simply duplicate the example sub-workflows and update the RSS feed URL and target platform information for each new tag/platform combination.
* **New Platforms:** To add support for additional social platforms, duplicate one of the existing platform sub-workflows (LinkedIn or Bluesky) and update the platform-specific parameters, prompts, and GetLate API settings for your new platform.
Airtable Database Schema: "RSS Feed - Content Store"
The workflow uses an Airtable base with the following fields to track content from ingestion to publication:
* `id` (Primary Field): Formula, for unique record ID (`RECORD_ID()`)
* `audience_targeted`: Long text
* `author`: Long text
* `character_count`: Number
* `content_markdown`: Long text
* `cta_used`: Long text
* `feed_id`: Single line text
* `goal_applied`: Long text
* `image_filename`: Singe line text
* `image_id`: Single line text
* `image_link`: URL
* `image_prompt`: Long text
* `is_posted`: Number, default is 0
* `platform`: Single line text
* `post_text`: Long text
* `suggested_hashtags`: Long text
* `title`: Long text
* `tone_applied`: Long text
* `article_url`: URL
Customizable User Inputs:
This workflow is built for flexibility. Key inputs you can customize include:
* **Wallabag RSS Feed URL & Platform Tag:** The specific feed and platform-specific tag (e.g., `#to-share-linkedin`) to monitor.
* **Target Social Platform:** Defined per feed in the "Edit Field" node.
* **Content Generation Schedule:** The frequency for auto-posting in the Schedule Trigger.
* **Brand Voice & LLM Parameters:** The tone, style, and specific instructions for the AI in the "Set Custom SMCG Prompt" node.
* **Platform-Specific Prompts:** The template used to generate posts for each social network (Instagram, LinkedIn, etc.).
* **Posting Behavior & Image Generation:** Configured within the **SMCG (Social Media Content Generation) node**. This is where you set the posting mode (immediate vs. draft) and define a boolean for each platform to enable or disable AI-generated images for its posts.
π₯ Workflow 1: RSS Aggregator & Content Store
- **RSS Trigger** β Pulls tagged articles from Wallabag feeds using platform-specific tags
- **Platform Assignment** β Sets target social platform based on tag
- **Content Conversion** β HTML to Markdown formatting
- **Airtable Storage** β Saves articles to content database
π Adding New RSS Feeds: To monitor additional Wallabag feeds for different content sources, simply duplicate the existing RSS feed sub-workflow and update the RSS URL with your new Wallabag access token and platform-specific tag. Each feed can target a different social platform or content category.
π Workflow 2: AI Content Generator & Publisher
- **Schedule Trigger** β Runs on your preferred frequency
- **Content Selection** β Pulls unpublished articles from Airtable
- **AI Configuration** β Sets brand voice, posting behavior, and image generation preferences
- **Platform Routing** β Directs to appropriate social platform workflow
- **AI Content Generation** β Creates posts and image prompts using LLM
- **Image Generation** β Creates & hosts images when enabled
- **Social Publishing** β Posts to platforms via GetLate API
- **Database Update** β Marks content as published in Airtable
π Adding New Platform Support: To extend this workflow to additional social platforms, simply duplicate one of the existing platform sub-workflows and update the platform-specific parameters, LLM prompts, and GetLate API configuration for your target platform.
Category Tags
`social-media-automation`, `ai-content-generation`, `rss-to-social`, `multi-platform-posting`, `getlate-api`
Shared 9/30/2025
308 views
Visual Workflow
JSON Code
{
"id": "wiYxpg8LnIiDvGxs",
"meta": {
"instanceId": "74d713ac149bdf2e1c898ad831b3f08fdb291e841248586bcb28212c38bd700b",
"templateCredsSetupCompleted": true
},
"name": "π€ Automated Social Media Content Engine: From RSS to Published Post",
"tags": [
{
"id": "B0Svy69BBALasOax",
"name": "social-media-automation",
"createdAt": "2025-09-30T19:09:24.274Z",
"updatedAt": "2025-09-30T19:09:24.274Z"
},
{
"id": "ePBEMpRwi21NHJQ6",
"name": "ai-content-generation",
"createdAt": "2025-09-30T19:10:15.132Z",
"updatedAt": "2025-09-30T19:10:15.132Z"
},
{
"id": "YtvOAZaBOf88KVk9",
"name": "rss-to-social",
"createdAt": "2025-09-30T19:10:22.750Z",
"updatedAt": "2025-09-30T19:10:22.750Z"
},
{
"id": "7XQbCSxeyZ4aPM1O",
"name": "getlate-api",
"createdAt": "2025-09-30T19:10:38.744Z",
"updatedAt": "2025-09-30T19:10:38.744Z"
}
],
"nodes": [
{
"id": "284e8ed3-3758-46a4-bb40-51640c610423",
"name": "Groq Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatGroq",
"position": [
96,
-1312
],
"parameters": {
"model": "llama-3.3-70b-versatile",
"options": {}
},
"credentials": {
"groqApi": {
"id": "Ec5dvu0WVN8oVpaW",
"name": "Groq account"
}
},
"typeVersion": 1
},
{
"id": "d51aa85b-ab70-443a-96de-dfc10acf3363",
"name": "Structured Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
240,
-1312
],
"parameters": {
"jsonSchemaExample": "{\n \"platform\": \"LinkedIn\",\n \"post_text\": \"Full generated post text here\",\n \"suggested_hashtags\": [\"#tag1\", \"#tag2\", \"#tag3\"],\n \"cta_used\": \"Specific call-to-action phrase used\",\n \"tone_applied\": \"Content tone description\",\n \"goal_applied\": \"Content goal description\", \n \"audience_targeted\": \"Target audience description\",\n \"character_count\": 1850,\n \"image_prompt\": \"Descriptive image prompt or null\"\n}"
},
"typeVersion": 1.3
},
{
"id": "19404a1b-6a16-442b-aebb-651da30a1a4a",
"name": "Set Post Schedule",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-1072,
-1344
],
"parameters": {
"rule": {
"interval": [
{
"field": "minutes"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "2800ed3a-3808-45f5-a226-0f3072d2853c",
"name": "Markdown: Convert Article Content",
"type": "n8n-nodes-base.markdown",
"position": [
-704,
-2016
],
"parameters": {
"html": "={{ $('RSS Feed Trigger: \\'#to-share-linkedin\\'').item.json.content }}",
"options": {},
"destinationKey": "content_markdown"
},
"typeVersion": 1
},
{
"id": "7332e92b-d745-4833-894e-5093af52c96c",
"name": "Groq Chat Model1",
"type": "@n8n/n8n-nodes-langchain.lmChatGroq",
"position": [
96,
-1024
],
"parameters": {
"model": "llama-3.3-70b-versatile",
"options": {}
},
"credentials": {
"groqApi": {
"id": "Ec5dvu0WVN8oVpaW",
"name": "Groq account"
}
},
"typeVersion": 1
},
{
"id": "3ff6c602-9ddf-463c-a041-59af36f60261",
"name": "Structured Output Parser1",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
240,
-1024
],
"parameters": {
"jsonSchemaExample": "{\n \"platform\": \"LinkedIn\",\n \"post_text\": \"Full generated post text here\",\n \"suggested_hashtags\": [\"#tag1\", \"#tag2\", \"#tag3\"],\n \"cta_used\": \"Specific call-to-action phrase used\",\n \"tone_applied\": \"Content tone description\",\n \"goal_applied\": \"Content goal description\", \n \"audience_targeted\": \"Target audience description\",\n \"character_count\": 1850,\n \"image_prompt\": \"Descriptive image prompt or null\"\n}"
},
"typeVersion": 1.3
},
{
"id": "fde397ab-483f-4076-b689-b43cfb5c4fd6",
"name": "LinkedIn SMCG",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
96,
-1456
],
"parameters": {
"batching": {},
"hasOutputParser": true
},
"typeVersion": 1.7
},
{
"id": "e0f02c16-7065-4bb4-ae8a-9becd542baf3",
"name": "Bluesky SMCG",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
96,
-1168
],
"parameters": {
"batching": {},
"hasOutputParser": true
},
"typeVersion": 1.7
},
{
"id": "f35156a0-0616-4c30-a714-55dfdf0d5833",
"name": "Convert Image to Base64 (Bluesky)",
"type": "n8n-nodes-base.code",
"position": [
1072,
-1216
],
"parameters": {
"jsCode": "// The image data is the raw response body (i.e. base64 encoded string)\nreturn {\n image_data: $input.all(),\n};"
},
"typeVersion": 2
},
{
"id": "b5b3e173-5c74-452e-9027-b3839c4f7de8",
"name": "Generate Post Image (Bluesky)",
"type": "n8n-nodes-base.httpRequest",
"position": [
736,
-1216
],
"parameters": {
"url": "https://api-inference.huggingface.co/models/stabilityai/stable-diffusion-xl-base-1.0",
"method": "POST",
"options": {
"response": {
"response": {
"fullResponse": true
}
}
},
"sendBody": true,
"sendHeaders": true,
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "inputs",
"value": "={{ $json.output.image_prompt }}"
}
]
},
"genericAuthType": "httpBearerAuth",
"headerParameters": {
"parameters": [
{
"name": "accept",
"value": "image/png"
}
]
}
},
"credentials": {
"httpBearerAuth": {
"id": "gv5zYpvHHxYv727R",
"name": "Bearer Auth account - Hugging Face"
}
},
"typeVersion": 4.2
},
{
"id": "3c5f0a33-5a14-48c7-9fd9-b107350773d2",
"name": "Store Image on Imgbb (Bluesky)",
"type": "n8n-nodes-base.httpRequest",
"position": [
1296,
-1216
],
"parameters": {
"url": "https://api.imgbb.com/1/upload",
"method": "POST",
"options": {},
"sendBody": true,
"sendQuery": true,
"contentType": "multipart-form-data",
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "image",
"value": "={{ $('Convert Image to Base64 (Bluesky)').item.json.image_data[0].binary.data.data }}"
}
]
},
"genericAuthType": "httpQueryAuth",
"queryParameters": {
"parameters": [
{
"name": "name",
"value": "={{ $('Pull New Article').item.json.createdTime }}-{{ $('Pull New Article').item.json.id }}-{{ $('Pull New Article').item.json.platform.toLowerCase() }}"
}
]
}
},
"credentials": {
"httpQueryAuth": {
"id": "pT3TEBbPhLosrjma",
"name": "Query Auth account - Imgbb"
},
"httpBearerAuth": {
"id": "gv5zYpvHHxYv727R",
"name": "Bearer Auth account - Hugging Face"
}
},
"typeVersion": 4.2
},
{
"id": "4748ba60-9405-4679-b69c-33aed2967dd5",
"name": "Post/Draft via GetLate API (Bluesky)",
"type": "n8n-nodes-base.httpRequest",
"position": [
1520,
-1216
],
"parameters": {
"url": "https://getlate.dev/api/v1/posts",
"method": "POST",
"options": {},
"jsonBody": "={\n \"content\": \"{{ $('Bluesky SMCG').item.json.output.post_text }}\",\n \"platforms\": [\n {\"platform\": \"bluesky\", \"accountId\": \"{{ $('Set SMCG Custom Prompt Parameters').item.json.bluesky_account_id }}\"}\n ],\n \"publishNow\": {{ ! $('Set SMCG Custom Prompt Parameters').item.json.post_as_draft }},\n \"isDraft\": {{ $('Set SMCG Custom Prompt Parameters').item.json.generate_image_bluesky }},\n \"visibility\": \"public\",\n \"tags\": \"{{ $('Bluesky SMCG').item.json.output.suggested_hashtags }}\",\n \"mediaItems\": [\n {\n \"type\": \"image\",\n \"url\": \"{{ $json.data.url }}\",\n \"filename\": \"{{ $json.data.title }}\"\n }\n ]\n}",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpBearerAuth"
},
"credentials": {
"httpBearerAuth": {
"id": "H8YYn03WwhfY88El",
"name": "Bearer Auth - GetLate"
}
},
"typeVersion": 4.2
},
{
"id": "0d441755-0a8c-40d2-8771-bce33ed96328",
"name": "Store Generated Post Content (Bluesky)",
"type": "n8n-nodes-base.airtable",
"position": [
1744,
-1216
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "appobCAkHxBSApdQ3",
"cachedResultUrl": "https://airtable.com/appobCAkHxBSApdQ3",
"cachedResultName": "RSS Feed Store - Wallabag RSS Feed Aggregator"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tbl8jsh0nMt3F5mo5",
"cachedResultUrl": "https://airtable.com/appobCAkHxBSApdQ3/tbl8jsh0nMt3F5mo5",
"cachedResultName": "RSS Feed - Content Store"
},
"columns": {
"value": {
"id": "={{ $('Pull New Article').item.json.id }}",
"cta_used": "={{ $('Bluesky SMCG').item.json.output.cta_used }}",
"image_id": "={{ $('Store Image on Imgbb (Bluesky)').item.json.data.id }}",
"is_posted": 1,
"post_text": "={{ $('Bluesky SMCG').item.json.output.post_text }}",
"image_link": "={{ $('Store Image on Imgbb (Bluesky)').item.json.data.image.url }}",
"article_url": "={{ $('Pull New Article').item.json.article_url }}",
"goal_applied": "={{ $('Bluesky SMCG').item.json.output.goal_applied }}",
"image_prompt": "={{ $('Bluesky SMCG').item.json.output.image_prompt }}",
"tone_applied": "={{ $('Bluesky SMCG').item.json.output.tone_applied }}",
"image_filename": "={{ $('Store Image on Imgbb (Bluesky)').item.json.data.title }}",
"character_count": "={{ $('Bluesky SMCG').item.json.output.character_count }}",
"audience_ targeted": "={{ $('Bluesky SMCG').item.json.output.audience_targeted }}",
"suggested_hashtags": "={{ $('Bluesky SMCG').item.json.output.suggested_hashtags.join(', ') }}"
},
"schema": [
{
"id": "id",
"type": "string",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "id",
"defaultMatch": true
},
{
"id": "id",
"type": "string",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "feed_id",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "feed_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "article_url",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "article_url",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "title",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "author",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "author",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "content_markdown",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "content_markdown",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "is_posted",
"type": "number",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "is_posted",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "platform",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "platform",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "post_text",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "post_text",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "suggested_hashtags",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "suggested_hashtags",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "cta_used",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "cta_used",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "tone_applied",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "tone_applied",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "goal_applied",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "goal_applied",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "audience_ targeted",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "audience_ targeted",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "character_count",
"type": "number",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "character_count",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "image_prompt",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "image_prompt",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "image_filename",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "image_filename",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "image_id",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "image_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "image_link",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "image_link",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"id"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "upsert"
},
"credentials": {
"airtableTokenApi": {
"id": "D9AiOyADd2P9e8YQ",
"name": "Airtable Personal Access Token account 2"
}
},
"typeVersion": 2.1
},
{
"id": "1aeadd6d-ca19-485e-99e3-27fe287ba6eb",
"name": "Post/Draft via GetLate API (No Image, Bluesky)",
"type": "n8n-nodes-base.httpRequest",
"position": [
736,
-1024
],
"parameters": {
"url": "https://getlate.dev/api/v1/posts",
"method": "POST",
"options": {},
"jsonBody": "={\n \"content\": \"{{ $('Bluesky SMCG').item.json.output.post_text }}\",\n \"platforms\": [\n {\"platform\": \"bluesky\", \"accountId\": \"{{ $('Set SMCG Custom Prompt Parameters').item.json.bluesky_account_id }}\"}\n ],\n \"publishNow\": {{ ! $('Set SMCG Custom Prompt Parameters').item.json.post_as_draft }},\n \"isDraft\": {{ $('Set SMCG Custom Prompt Parameters').item.json.post_as_draft }},\n \"tags\": \"{{ $('Bluesky SMCG').item.json.output.suggested_hashtags }}\"\n}",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpBearerAuth"
},
"credentials": {
"httpBearerAuth": {
"id": "H8YYn03WwhfY88El",
"name": "Bearer Auth - GetLate"
}
},
"typeVersion": 4.2
},
{
"id": "777dff77-d15f-49da-9ac5-5e161b0adb08",
"name": "Store Generated Post Content (No Image, Bluesky)",
"type": "n8n-nodes-base.airtable",
"position": [
1072,
-1024
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "appobCAkHxBSApdQ3",
"cachedResultUrl": "https://airtable.com/appobCAkHxBSApdQ3",
"cachedResultName": "RSS Feed Store - Wallabag RSS Feed Aggregator"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tbl8jsh0nMt3F5mo5",
"cachedResultUrl": "https://airtable.com/appobCAkHxBSApdQ3/tbl8jsh0nMt3F5mo5",
"cachedResultName": "RSS Feed - Content Store"
},
"columns": {
"value": {
"id": "={{ $('Pull New Article').item.json.id }}",
"cta_used": "={{ $('Bluesky SMCG').item.json.output.cta_used }}",
"is_posted": 1,
"post_text": "={{ $('Bluesky SMCG').item.json.output.post_text }}",
"article_url": "={{ $('Pull New Article').item.json.article_url }}",
"goal_applied": "={{ $('Bluesky SMCG').item.json.output.goal_applied }}",
"tone_applied": "={{ $('Bluesky SMCG').item.json.output.tone_applied }}",
"character_count": "={{ $('Bluesky SMCG').item.json.output.character_count }}",
"audience_ targeted": "={{ $('Bluesky SMCG').item.json.output.audience_targeted }}",
"suggested_hashtags": "={{ $('Bluesky SMCG').item.json.output.suggested_hashtags.join(', ') }}"
},
"schema": [
{
"id": "id",
"type": "string",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "id",
"defaultMatch": true
},
{
"id": "id",
"type": "string",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "feed_id",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "feed_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "article_url",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "article_url",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "title",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "author",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "author",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "content_markdown",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "content_markdown",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "is_posted",
"type": "number",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "is_posted",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "platform",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "platform",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "post_text",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "post_text",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "suggested_hashtags",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "suggested_hashtags",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "cta_used",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "cta_used",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "tone_applied",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "tone_applied",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "goal_applied",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "goal_applied",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "audience_ targeted",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "audience_ targeted",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "character_count",
"type": "number",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "character_count",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "image_prompt",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "image_prompt",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "image_filename",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "image_filename",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "image_id",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "image_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "image_link",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "image_link",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"id"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "upsert"
},
"credentials": {
"airtableTokenApi": {
"id": "D9AiOyADd2P9e8YQ",
"name": "Airtable Personal Access Token account 2"
}
},
"typeVersion": 2.1
},
{
"id": "bdb0b334-6f16-4d50-9999-63005acfcf4d",
"name": "Check For Image Generation Prompt (Bluesky)",
"type": "n8n-nodes-base.if",
"position": [
432,
-1168
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "a729b165-a3f6-461c-bf55-90d34cd32db4",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ $('Set SMCG Custom Prompt Parameters').item.json.generate_image_bluesky }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "6f0030a7-0932-4003-a2ea-641bafb3ea5c",
"name": "Check For Image Generation Prompt (LinkedIn)",
"type": "n8n-nodes-base.if",
"position": [
416,
-1456
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "a729b165-a3f6-461c-bf55-90d34cd32db4",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ $('Check Platform').item.json.generate_image_linkedin }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "f7f8a83e-6bc0-4618-8367-84739b69f27b",
"name": "Post/Draft via GetLate API (No Image, LinkedIn))",
"type": "n8n-nodes-base.httpRequest",
"position": [
736,
-1408
],
"parameters": {
"url": "https://getlate.dev/api/v1/posts",
"method": "POST",
"options": {},
"jsonBody": "={\n \"content\": \"{{ $('LinkedIn SMCG').item.json.output.post_text }}\",\n \"platforms\": [\n {\"platform\": \"linkedin\", \"accountId\": \"68db2a0a38690b4b9b192801\"}\n ],\n \"publishNow\": {{ ! $('Set SMCG Custom Prompt Parameters').item.json.post_as_draft }},\n \"isDraft\": {{ $('Set SMCG Custom Prompt Parameters').item.json.post_as_draft }},\n \"tags\": \"{{ $('LinkedIn SMCG').item.json.output.suggested_hashtags }}\"\n}",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpBearerAuth"
},
"credentials": {
"httpBearerAuth": {
"id": "H8YYn03WwhfY88El",
"name": "Bearer Auth - GetLate"
}
},
"typeVersion": 4.2
},
{
"id": "dc748899-b702-4b99-826c-ed4f096082bc",
"name": "Generate Post Image (LinkedIn)",
"type": "n8n-nodes-base.httpRequest",
"position": [
736,
-1600
],
"parameters": {
"url": "https://api-inference.huggingface.co/models/stabilityai/stable-diffusion-xl-base-1.0",
"method": "POST",
"options": {
"response": {
"response": {
"fullResponse": true
}
}
},
"sendBody": true,
"sendHeaders": true,
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "inputs",
"value": "={{ $json.output.image_prompt }}"
}
]
},
"genericAuthType": "httpBearerAuth",
"headerParameters": {
"parameters": [
{
"name": "accept",
"value": "image/png"
}
]
}
},
"credentials": {
"httpBearerAuth": {
"id": "gv5zYpvHHxYv727R",
"name": "Bearer Auth account - Hugging Face"
}
},
"typeVersion": 4.2
},
{
"id": "df8bfdf8-ee9a-45b3-b3b6-2c65ecde30a9",
"name": "Convert Image to Base64 (LinkedIn)",
"type": "n8n-nodes-base.code",
"position": [
1072,
-1600
],
"parameters": {
"jsCode": "// The image data is the raw response body (i.e. base64 encoded string)\nreturn {\n image_data: $input.all(),\n};"
},
"typeVersion": 2
},
{
"id": "b670d229-6da5-41bb-b958-791e994afd1c",
"name": "Store Image on Imgbb (LinkedIn)",
"type": "n8n-nodes-base.httpRequest",
"position": [
1296,
-1600
],
"parameters": {
"url": "https://api.imgbb.com/1/upload",
"method": "POST",
"options": {},
"sendBody": true,
"sendQuery": true,
"contentType": "multipart-form-data",
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "image",
"value": "={{ $('Convert Image to Base64 (LinkedIn)').item.json.image_data[0].binary.data.data }}"
}
]
},
"genericAuthType": "httpQueryAuth",
"queryParameters": {
"parameters": [
{
"name": "name",
"value": "={{ $('Pull New Article').item.json.createdTime }}-{{ $('Pull New Article').item.json.id }}-{{ $('Pull New Article').item.json.platform.toLowerCase() }}"
}
]
}
},
"credentials": {
"httpQueryAuth": {
"id": "pT3TEBbPhLosrjma",
"name": "Query Auth account - Imgbb"
},
"httpBearerAuth": {
"id": "gv5zYpvHHxYv727R",
"name": "Bearer Auth account - Hugging Face"
}
},
"typeVersion": 4.2
},
{
"id": "4fa27db1-7216-40ac-8063-b52bc20a0b42",
"name": "Post/Draft via GetLate API (LinkedIn)",
"type": "n8n-nodes-base.httpRequest",
"position": [
1520,
-1600
],
"parameters": {
"url": "https://getlate.dev/api/v1/posts",
"method": "POST",
"options": {},
"jsonBody": "={\n \"content\": \"{{ $('LinkedIn SMCG').item.json.output.post_text }}\",\n \"platforms\": [\n {\"platform\": \"linkedin\", \"accountId\": \"{{ $('Set SMCG Custom Prompt Parameters').item.json.linkedin_account_id }}\"}\n ],\n \"publishNow\": {{ ! $('Set SMCG Custom Prompt Parameters').item.json.post_as_draft }},\n \"isDraft\": {{ $('Set SMCG Custom Prompt Parameters').item.json.post_as_draft }},\n \"tags\": \"{{ $('LinkedIn SMCG').item.json.output.suggested_hashtags }}\",\n \"mediaItems\": [\n {\n \"type\": \"image\",\n \"url\": \"{{ $json.data.image.url }}\",\n \"filename\": \"{{ $json.data.title }}\"\n }\n ]\n}",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpBearerAuth"
},
"credentials": {
"httpBearerAuth": {
"id": "H8YYn03WwhfY88El",
"name": "Bearer Auth - GetLate"
}
},
"typeVersion": 4.2
},
{
"id": "e6a52db6-6abf-45e0-b42d-e523c5a48f71",
"name": "Store Generated Post Content (LinkedIn)",
"type": "n8n-nodes-base.airtable",
"position": [
1728,
-1600
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "appobCAkHxBSApdQ3",
"cachedResultUrl": "https://airtable.com/appobCAkHxBSApdQ3",
"cachedResultName": "RSS Feed Store - Wallabag RSS Feed Aggregator"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tbl8jsh0nMt3F5mo5",
"cachedResultUrl": "https://airtable.com/appobCAkHxBSApdQ3/tbl8jsh0nMt3F5mo5",
"cachedResultName": "RSS Feed - Content Store"
},
"columns": {
"value": {
"id": "={{ $('Pull New Article').item.json.id }}",
"cta_used": "={{ $('LinkedIn SMCG').item.json.output.cta_used }}",
"image_id": "={{ $('Store Image on Imgbb (LinkedIn)').item.json.data.id }}",
"is_posted": 1,
"post_text": "={{ $('LinkedIn SMCG').item.json.output.post_text }}",
"image_link": "={{ $('Store Image on Imgbb (LinkedIn)').item.json.data.image.url }}",
"article_url": "={{ $('Pull New Article').item.json.article_url }}",
"goal_applied": "={{ $('LinkedIn SMCG').item.json.output.goal_applied }}",
"image_prompt": "={{ $('LinkedIn SMCG').item.json.output.image_prompt }}",
"tone_applied": "={{ $('LinkedIn SMCG').item.json.output.tone_applied }}",
"image_filename": "={{ $('Store Image on Imgbb (LinkedIn)').item.json.data.title }}",
"character_count": "={{ $('LinkedIn SMCG').item.json.output.character_count }}",
"audience_ targeted": "={{ $('LinkedIn SMCG').item.json.output.audience_targeted }}",
"suggested_hashtags": "={{ $('LinkedIn SMCG').item.json.output.suggested_hashtags.join(', ') }}"
},
"schema": [
{
"id": "id",
"type": "string",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "id",
"defaultMatch": true
},
{
"id": "id",
"type": "string",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "feed_id",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "feed_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "article_url",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "article_url",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "title",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "author",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "author",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "content_markdown",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "content_markdown",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "is_posted",
"type": "number",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "is_posted",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "platform",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "platform",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "post_text",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "post_text",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "suggested_hashtags",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "suggested_hashtags",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "cta_used",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "cta_used",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "tone_applied",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "tone_applied",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "goal_applied",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "goal_applied",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "audience_ targeted",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "audience_ targeted",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "character_count",
"type": "number",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "character_count",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "image_prompt",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "image_prompt",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "image_filename",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "image_filename",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "image_id",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "image_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "image_link",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "image_link",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"id"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "upsert"
},
"credentials": {
"airtableTokenApi": {
"id": "D9AiOyADd2P9e8YQ",
"name": "Airtable Personal Access Token account 2"
}
},
"typeVersion": 2.1
},
{
"id": "de4ad432-4cf4-46d2-8dc3-ecc0a105f6ed",
"name": "Store Generated Post Content (No Image, LinkedIn)",
"type": "n8n-nodes-base.airtable",
"position": [
1072,
-1408
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "appobCAkHxBSApdQ3",
"cachedResultUrl": "https://airtable.com/appobCAkHxBSApdQ3",
"cachedResultName": "GetLate n8n Arena Challenge - Wallabag Content Store"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tbl8jsh0nMt3F5mo5",
"cachedResultUrl": "https://airtable.com/appobCAkHxBSApdQ3/tbl8jsh0nMt3F5mo5",
"cachedResultName": "RSS Feed - Content Store"
},
"columns": {
"value": {
"id": "={{ $('Pull New Article').item.json.id }}",
"cta_used": "={{ $('LinkedIn SMCG').item.json.output.cta_used }}",
"image_id": "={{ $('Store Image on Imgbb (LinkedIn)').item.json.data.id }}",
"is_posted": 1,
"post_text": "={{ $('LinkedIn SMCG').item.json.output.post_text }}",
"image_link": "={{ $('Store Image on Imgbb (LinkedIn)').item.json.data.image.url }}",
"article_url": "={{ $('Pull New Article').item.json.article_url }}",
"goal_applied": "={{ $('LinkedIn SMCG').item.json.output.goal_applied }}",
"image_prompt": "={{ $('LinkedIn SMCG').item.json.output.image_prompt }}",
"tone_applied": "={{ $('LinkedIn SMCG').item.json.output.tone_applied }}",
"image_filename": "={{ $('Store Image on Imgbb (LinkedIn)').item.json.data.title }}",
"character_count": "={{ $('LinkedIn SMCG').item.json.output.character_count }}",
"audience_ targeted": "={{ $('LinkedIn SMCG').item.json.output.audience_targeted }}",
"suggested_hashtags": "={{ $('LinkedIn SMCG').item.json.output.suggested_hashtags.join(', ') }}"
},
"schema": [
{
"id": "id",
"type": "string",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "id",
"defaultMatch": true
},
{
"id": "id",
"type": "string",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "feed_id",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "feed_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "article_url",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "article_url",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "title",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "author",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "author",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "content_markdown",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "content_markdown",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "is_posted",
"type": "number",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "is_posted",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "platform",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "platform",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "post_text",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "post_text",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "suggested_hashtags",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "suggested_hashtags",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "cta_used",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "cta_used",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "tone_applied",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "tone_applied",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "goal_applied",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "goal_applied",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "audience_ targeted",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "audience_ targeted",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "character_count",
"type": "number",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "character_count",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "image_prompt",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "image_prompt",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "image_filename",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "image_filename",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "image_id",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "image_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "image_link",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "image_link",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"id"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "upsert"
},
"credentials": {
"airtableTokenApi": {
"id": "D9AiOyADd2P9e8YQ",
"name": "Airtable Personal Access Token account 2"
}
},
"typeVersion": 2.1
},
{
"id": "27cf13d8-c013-4c1f-90b1-63ba39cef14f",
"name": "Check Platform",
"type": "n8n-nodes-base.switch",
"position": [
-304,
-1344
],
"parameters": {
"rules": {
"values": [
{
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "7d48f2b5-9014-418d-b096-4c15a8393d4a",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('Pull New Article').item.json.platform }}",
"rightValue": "linkedin"
}
]
}
},
{
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "29021972-676f-4edd-8984-f33b41cc2939",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('Pull New Article').item.json.platform }}",
"rightValue": "bluesky"
}
]
}
}
]
},
"options": {}
},
"typeVersion": 3.3
},
{
"id": "59ac6013-4e3b-4a3a-aa65-967fe68e201e",
"name": "Bluesky SMCG Prompt",
"type": "n8n-nodes-base.set",
"position": [
-112,
-1248
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "3a30f765-4dac-4605-8f56-74b2076ece93",
"name": "chatInput",
"type": "string",
"value": "=Role: You are a professional social media content generator specializing in Bluesky.\n\nTask: Create one optimized Bluesky post (skeet) based on the provided article content and user specifications.\n\nInput Data:\n- Niche: {{ $json.niche }}\n- Tone: {{ $json.tone }}\n- Goal: {{ $json.goal }}\n- Target Audience: {{ $json.target_audience }}\n- Custom Tags: {{ $json.custom_tags }}\n- Needs Image Prompt: {{ $json.generate_image_bluesky }}\n- Article Title: {{ $('Pull New Article').item.json.title }}\n- Article Author: {{ $('Pull New Article').item.json.author }}\n- Article Content: {{ $('Pull New Article').item.json.content_markdown }}\n\nContent Creation Guidelines:\n\n1. Bluesky Post Structure:\n - Create concise, engaging content suitable for a broad, real-time audience\n - Length: Optimal 250-300 characters, maximum 300 characters\n - First line should contain a strong, engaging hook to stop the scroll\n - Use 1-2 short paragraphs with line breaks for readability\n - Focus on one key insight or a compelling question\n - Include 2-3 relevant hashtags within the post text itself, placed naturally within the content\n - PRIORITIZE and INCLUDE all custom hashtags and mentions from the user's \"custom_tags\" input within the post text\n\n2. Content Quality:\n - Extract the most valuable or surprising insight from the article\n - Use language matching the specified tone (can be more casual than LinkedIn)\n - Include a clear call-to-action aligned with the goal (e.g., \"Read the full article,\" \"What's your take?\")\n - Encourage engagement through questions or provocative statements\n - Add unique perspective or context beyond a simple summary\n - Integrate hashtags and mentions organically into the post text rather than appending them at the end\n - Ensure all custom tags (hashtags and @mentions) provided by the user are naturally incorporated into the post content\n\n3. Image Prompt Handling:\n - If \"needs_image_prompt\" is true: Generate a descriptive image prompt that visually represents the article's core concept in a style suitable for Bluesky's diverse user base\n - If \"needs_image_prompt\" is false: Set image_prompt to null\n - Image prompts should be clear, descriptive, and suitable for general image generation\n\nOutput Requirements:\n- Return ONLY a valid JSON object with no additional text.\n- Use the exact keys and types specified below:\n - \"platform\": string (always \"Bluesky\")\n - \"post_text\": string (250-300 characters, with engaging hook and integrated hashtags/mentions)\n - \"suggested_hashtags\": array of strings (2-3 relevant hashtags that are included in the post text, prioritizing custom tags)\n - \"cta_used\": string (clear, concise call-to-action)\n - \"tone_applied\": string (from input)\n - \"goal_applied\": string (from input)\n - \"audience_targeted\": string (from input)\n - \"character_count\": integer (accurate count of post_text)\n - \"image_prompt\": string or empty (descriptive if needed)\n\nJSON Output Structure:\n\n{\n \"platform\": \"Bluesky\",\n \"post_text\": \"Full generated post text here with #hashtags and @mentions integrated naturally into the content, prioritizing user's custom tags\",\n \"suggested_hashtags\": [\"#customtag1\", \"#customtag2\", \"#relevant\"],\n \"cta_used\": \"Specific call-to-action phrase used\",\n \"tone_applied\": \"{{ $json.tone }}\",\n \"goal_applied\": \"{{ $json.goal }}\",\n \"audience_targeted\": \"{{ $json.target_audience }}\",\n \"character_count\": 285,\n \"image_prompt\": \"Descriptive image prompt or 'null'\",\n}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "e2a265aa-e23a-4630-aeb4-fa155dc6ed52",
"name": "Pull New Article",
"type": "n8n-nodes-base.airtable",
"position": [
-816,
-1344
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "appobCAkHxBSApdQ3",
"cachedResultUrl": "https://airtable.com/appobCAkHxBSApdQ3",
"cachedResultName": "RSS Feed Store - Wallabag RSS Feed Aggregator"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tbl8jsh0nMt3F5mo5",
"cachedResultUrl": "https://airtable.com/appobCAkHxBSApdQ3/tbl8jsh0nMt3F5mo5",
"cachedResultName": "RSS Feed - Content Store"
},
"options": {
"view": {
"__rl": true,
"mode": "list",
"value": "viwzBm6hokiAHlXTp",
"cachedResultUrl": "https://airtable.com/appobCAkHxBSApdQ3/tbl8jsh0nMt3F5mo5/viwzBm6hokiAHlXTp",
"cachedResultName": "Grid view"
},
"fields": [
"id",
"feed_id",
"title",
"author",
"content_markdown",
"is_posted",
"platform",
"post_text",
"suggested_hashtags",
"cta_used",
"tone_applied",
"goal_applied",
"audience_ targeted",
"character_count",
"image_prompt",
"image_id",
"image_filename",
"image_link",
"article_url"
]
},
"operation": "search",
"filterByFormula": "is_posted=0"
},
"credentials": {
"airtableTokenApi": {
"id": "CebUWyzJFFDQNNfZ",
"name": "Airtable Personal Access Token account"
}
},
"typeVersion": 2.1,
"alwaysOutputData": false
},
{
"id": "03fb9757-d4ee-4fc8-b34e-2a7c15743aac",
"name": "Set SMCG Custom Prompt Parameters",
"type": "n8n-nodes-base.set",
"position": [
-560,
-1344
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "f40fcd95-5826-4562-abbf-b0ffac59463a",
"name": "niche",
"type": "string",
"value": "Sustainable Fashion"
},
{
"id": "1c4fce50-7c27-4bea-9ea9-35e2e4fef801",
"name": "tone",
"type": "string",
"value": "Friendly, Witty, Conversational"
},
{
"id": "333f453a-a9c4-4401-adee-73e07ec754fc",
"name": "goal",
"type": "string",
"value": "=Spark debate or conversation"
},
{
"id": "aae1540d-873c-40d4-9326-fda99ccfdf10",
"name": "target_audience",
"type": "string",
"value": "Students, Fashion/Lifestyle Influencer"
},
{
"id": "54adc187-37ef-4005-842f-56d444004889",
"name": "custom_tags",
"type": "string",
"value": "#n8n #automation"
},
{
"id": "7c18b6f9-2e26-44a0-acc8-904c6e4a311f",
"name": "post_as_draft",
"type": "boolean",
"value": false
},
{
"id": "8037d300-2be0-47cf-8ef8-8314a7ffd089",
"name": "generate_image_bluesky",
"type": "boolean",
"value": false
},
{
"id": "27bd8ac8-747f-4651-acf2-0a3f574310bb",
"name": "generate_image_linkedin",
"type": "boolean",
"value": true
},
{
"id": "e516e735-4146-40c6-a018-dde3db6ed06b",
"name": "bluesky_account_id",
"type": "string",
"value": "68dc2c1f38690b4b9b1928aa"
},
{
"id": "b0736923-4372-46c4-bfdf-91f68125d958",
"name": "linkedin_account_id",
"type": "string",
"value": "68db2a0a38690b4b9b192801"
}
]
}
},
"typeVersion": 3.4,
"alwaysOutputData": false
},
{
"id": "35b8c9eb-ca59-4ea0-9df0-3e0eb8320527",
"name": "Markdown: Convert Article Content1",
"type": "n8n-nodes-base.markdown",
"position": [
-704,
-2240
],
"parameters": {
"html": "={{ $('RSS Feed Trigger: \\'#to-share-bluesky\\'').item.json.content }}",
"options": {},
"destinationKey": "content_markdown"
},
"typeVersion": 1
},
{
"id": "9b8e3f6c-1942-4b7e-bd3f-b957691a7b2e",
"name": "RSS Feed Trigger: '#to-share-bluesky'",
"type": "n8n-nodes-base.rssFeedReadTrigger",
"position": [
-1152,
-2240
],
"parameters": {
"feedUrl": "https://msb-wallabag.app.ulem.org/feed/wallabag/fmdQDsRvfe454S/tags/t:to-share-bluesky",
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
}
},
"typeVersion": 1
},
{
"id": "c21ada57-ea97-45d9-9827-88ae261bdbea",
"name": "Set Platform (Bluesky)",
"type": "n8n-nodes-base.set",
"position": [
-944,
-2240
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "b9b8246a-695e-4d14-ace8-f194a0d1fc9f",
"name": "platform",
"type": "string",
"value": "=bluesky"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "d92d35b0-d8d3-468f-b88e-61f23df393ba",
"name": "Store Article Content (LinkedIn)",
"type": "n8n-nodes-base.airtable",
"position": [
-480,
-2016
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "appobCAkHxBSApdQ3",
"cachedResultUrl": "https://airtable.com/appobCAkHxBSApdQ3",
"cachedResultName": "GetLate n8n Arena Challenge - Wallabag Content Store"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tbl8jsh0nMt3F5mo5",
"cachedResultUrl": "https://airtable.com/appobCAkHxBSApdQ3/tbl8jsh0nMt3F5mo5",
"cachedResultName": "RSS Feed - Content Store"
},
"columns": {
"value": {
"title": "={{ $('RSS Feed Trigger: \\'#to-share-linkedin\\'').item.json.title }}",
"author": "={{ $('RSS Feed Trigger: \\'#to-share-linkedin\\'').item.json.author }}",
"feed_id": "={{ $('RSS Feed Trigger: \\'#to-share-linkedin\\'').item.json.id }}",
"platform": "={{ $('Set Platform (LinkedIn)').item.json.platform.toLowerCase() }}",
"is_posted": 0,
"article_url": "={{ $('RSS Feed Trigger: \\'#to-share-linkedin\\'').item.json.link }}",
"character_count": 0,
"content_markdown": "={{ $json.content_markdown }}"
},
"schema": [
{
"id": "id",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "feed_id",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "feed_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "article_url",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "article_url",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "title",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "author",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "author",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "content_markdown",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "content_markdown",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "is_posted",
"type": "number",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "is_posted",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "platform",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "platform",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "post_text",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "post_text",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "suggested_hashtags",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "suggested_hashtags",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "cta_used",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "cta_used",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "tone_applied",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "tone_applied",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "goal_applied",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "goal_applied",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "audience_ targeted",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "audience_ targeted",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "character_count",
"type": "number",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "character_count",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "image_prompt",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "image_prompt",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "image_filename",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "image_filename",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "image_id",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "image_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "image_link",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "image_link",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "create"
},
"credentials": {
"airtableTokenApi": {
"id": "D9AiOyADd2P9e8YQ",
"name": "Airtable Personal Access Token account 2"
}
},
"typeVersion": 2.1
},
{
"id": "cbb2f30f-b77e-465e-ae8c-fa515124a985",
"name": "Set Platform (LinkedIn)",
"type": "n8n-nodes-base.set",
"position": [
-944,
-2016
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "b9b8246a-695e-4d14-ace8-f194a0d1fc9f",
"name": "platform",
"type": "string",
"value": "=linkedin"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "84479e15-cf62-4719-8ea1-3cbe7ccb13d2",
"name": "RSS Feed Trigger: '#to-share-linkedin'",
"type": "n8n-nodes-base.rssFeedReadTrigger",
"position": [
-1152,
-2016
],
"parameters": {
"feedUrl": "https://msb-wallabag.app.ulem.org/feed/wallabag/fmdQDsRvfe454S/tags/t:to-share-linkedin",
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
}
},
"typeVersion": 1
},
{
"id": "bb6e0188-e34a-40a0-b41c-4b11ead349ab",
"name": "Store Article Content",
"type": "n8n-nodes-base.airtable",
"position": [
-480,
-2240
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "appobCAkHxBSApdQ3",
"cachedResultUrl": "https://airtable.com/appobCAkHxBSApdQ3",
"cachedResultName": "RSS Feed Store - Wallabag RSS Feed Aggregator"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tbl8jsh0nMt3F5mo5",
"cachedResultUrl": "https://airtable.com/appobCAkHxBSApdQ3/tbl8jsh0nMt3F5mo5",
"cachedResultName": "RSS Feed - Content Store"
},
"columns": {
"value": {
"title": "={{ $('RSS Feed Trigger: \\'#to-share-bluesky\\'').item.json.title }}",
"author": "={{ $('RSS Feed Trigger: \\'#to-share-bluesky\\'').item.json.author }}",
"feed_id": "={{ $('RSS Feed Trigger: \\'#to-share-bluesky\\'').item.json.id }}",
"platform": "={{ $('Set Platform (Bluesky)').item.json.platform.toLowerCase() }}",
"is_posted": 0,
"article_url": "={{ $('RSS Feed Trigger: \\'#to-share-bluesky\\'').item.json.link }}",
"character_count": 0,
"content_markdown": "={{ $json.content_markdown }}"
},
"schema": [
{
"id": "id",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "feed_id",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "feed_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "article_url",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "article_url",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "title",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "author",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "author",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "content_markdown",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "content_markdown",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "is_posted",
"type": "number",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "is_posted",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "platform",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "platform",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "post_text",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "post_text",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "suggested_hashtags",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "suggested_hashtags",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "cta_used",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "cta_used",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "tone_applied",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "tone_applied",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "goal_applied",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "goal_applied",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "audience_ targeted",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "audience_ targeted",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "character_count",
"type": "number",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "character_count",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "image_prompt",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "image_prompt",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "image_filename",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "image_filename",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "image_id",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "image_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "image_link",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "image_link",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "create"
},
"credentials": {
"airtableTokenApi": {
"id": "D9AiOyADd2P9e8YQ",
"name": "Airtable Personal Access Token account 2"
}
},
"typeVersion": 2.1
},
{
"id": "96a2453b-ae39-4a13-97da-90a7a5310061",
"name": "LinkedIn SMCG Prompt",
"type": "n8n-nodes-base.set",
"position": [
-112,
-1456
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "3a30f765-4dac-4605-8f56-74b2076ece93",
"name": "chatInput",
"type": "string",
"value": "=Role: You are a professional social media content generator specializing in LinkedIn.\n\nTask: Create one optimized LinkedIn post based on the provided article content and user specifications.\n\nInput Data:\n- Niche: {{ $json.niche }}\n- Tone:{{ $json.tone }}\n- Goal: {{ $json.goal }}\n- Target Audience: {{ $json.target_audience }}\n- Custom Tags: {{ $json.custom_tags }}\n- Needs Image Prompt: {{ $json.generate_image_linkedin }}\n- Article Title: {{ $('Pull New Article').item.json.title }}\n- Article Author: {{ $('Pull New Article').item.json.author }}\n- Article Content: {{ $('Pull New Article').item.json.content_markdown }}\n\nContent Creation Guidelines:\n\n1. LinkedIn Post Structure:\n - Create professional content suitable for business audiences\n - Length: 1,500-2,000 characters optimal, maximum 3,000 characters\n - First 140 characters should contain an engaging hook\n - Use 2-3 paragraphs with line breaks for readability\n - Include 3-5 relevant hashtags at the end\n\n2. Content Quality:\n - Focus on valuable insights from the article\n - Use professional language matching the specified tone\n - Include a clear call-to-action aligned with the goal\n - Pose questions to encourage engagement\n - Add context or perspective beyond simple article summary\n\n3. Image Prompt Handling:\n - If \"needs_image_prompt\" is true: Generate a descriptive image prompt that visually represents the article's core concept in a professional style\n - If \"needs_image_prompt\" is false: Set image_prompt to null\n - Image prompts should be clear, descriptive, and suitable for general image generation\n\nOutput Requirements:\n- Return ONLY a valid JSON object with no additional text.\n- Use the exact keys and types specified below:\n - \"platform\": string (always \"LinkedIn\")\n - \"post_text\": string (1500-3000 characters, with engaging hook)\n - \"suggested_hashtags\": array of strings (3-5 hashtags, including #n8n and #automation)\n - \"cta_used\": string (clear call-to-action)\n - \"tone_applied\": string (from input)\n - \"goal_applied\": string (from input)\n - \"audience_targeted\": string (from input)\n - \"character_count\": integer (accurate count of post_text)\n - \"image_prompt\": string or null (descriptive if needed)\n\nJSON Output Structure:\n\n{\n \"platform\": \"LinkedIn\",\n \"post_text\": \"Full generated post text here\",\n \"suggested_hashtags\": [\"#tag1\", \"#tag2\", \"#tag3\"],\n \"cta_used\": \"Specific call-to-action phrase used\",\n \"tone_applied\": \"{{ $json.tone }}\",\n \"goal_applied\": \"{{ $json.goal }}\",\n \"audience_targeted\": \"{{ $json.target_audience }}\",\n \"character_count\": 1850,\n \"image_prompt\": \"Descriptive image prompt or null\",\n}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "c676da56-5ddf-41b9-ba2c-f6bd266d2172",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1952,
-2512
],
"parameters": {
"width": 688,
"height": 944,
"content": "# βοΈ**Required Credentials & Services Setup**\n\n### π **API Credentials Needed:**\n\nTo run this workflow, configure the following credentials in your n8n instance:\n\n* **Wallabag Access Token & RSS Feed URLs**\n - https://wallabag.it/en/\n - Required as the content source for this workflow\n - Generate an access token in Wallabag to access RSS feed URLs\n - Use RSS feed links for tags marked for social sharing in format:\n - https://your-wallabag-instance.com/feed/wallabag/your-access-token/tags/t:your-article-tag\n\n* **Airtable API Key**\n - https://airtable.com/create/tokens\n\n* **LLM Provider API Key** \n - This demo is configured for **Groq**, but is compatible with OpenAI, Anthropic, or other providers.\n - https://console.groq.com/keys\n\n* **GetLate API Key**\n - https://getlate.dev/dashboard/api-keys\n\n* **Imgbb API Key**\n - https://api.imgbb.com/\n\n* **Image Generation Service API Key**\n - This demo uses **Hugging Face**, but is interchangeable with Fal.ai, Stability AI, or similar services\n - https://huggingface.co/settings/tokens\n\n\n### **Setup Notes:**\n - All credentials should be added to n8n's credentials management before workflow execution\n - Ensure proper permission scopes for each API key\n - Test individual API connections before running full workflow\n - Consider rate limits and billing for each service\n"
},
"typeVersion": 1
},
{
"id": "56466106-eaf4-41e7-b253-18a08232129f",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1248,
-2512
],
"parameters": {
"color": 6,
"width": 3312,
"height": 704,
"content": "# Step 1οΈβ£: RSS Aggregator & Content Store\nThis creates a centralized content repository ready for social media transformation, ensuring you always have fresh material to share with your audience.\n"
},
"typeVersion": 1
},
{
"id": "8c6ea3f9-191f-4ccc-8471-ce9b67025ee9",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1248,
-1792
],
"parameters": {
"color": 6,
"width": 3312,
"height": 1072,
"content": "# Step 2οΈβ£: AI Content Generation & Publishing\nThis workflow transforms stored articles into ready-to-publish social media content. Operating on a scheduled basis, it pulls unpublished articles from the database and uses AI to generate platform-optimized posts complete with captions, hashtags, and image prompts."
},
"typeVersion": 1
},
{
"id": "609c4599-5030-4d6e-bd88-ded862940f41",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
576,
-1712
],
"parameters": {
"width": 416,
"height": 896,
"content": "## βοΈ Configure Imgbb & Image Generation Service Credentials"
},
"typeVersion": 1
},
{
"id": "b95244b4-7539-46f7-af2b-918cdc72ac73",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1184,
-1440
],
"parameters": {
"color": 3,
"width": 320,
"height": 304,
"content": "## βοΈ Define Posting Schedule"
},
"typeVersion": 1
},
{
"id": "b97a8c37-0294-45c4-ac12-d41bba1d7843",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-672,
-1488
],
"parameters": {
"color": 4,
"width": 336,
"height": 352,
"content": "## βοΈ Set AI Content Generator Parameters & Other Settings"
},
"typeVersion": 1
},
{
"id": "d458d97f-d6d6-436e-ba62-0198a714f7a2",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
48,
-1568
],
"parameters": {
"width": 336,
"height": 688,
"content": "## βοΈ Configure LLM Credentials"
},
"typeVersion": 1
},
{
"id": "28e4f9e6-9359-4dcc-9c6c-6dfcdb6950de",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1216,
-2352
],
"parameters": {
"width": 448,
"height": 528,
"content": "## βοΈ Configure Feed Credentials & Social Media Platform"
},
"typeVersion": 1
},
{
"id": "44a9e5c1-7a02-460d-a1e6-2a0be46fa19f",
"name": "Sticky Note8",
"type": "n8n-nodes-base.stickyNote",
"position": [
-560,
-2336
],
"parameters": {
"width": 272,
"height": 512,
"content": "## βοΈ Configure Airtable Credentials "
},
"typeVersion": 1
},
{
"id": "e9c07bb9-c768-41c7-adbf-9f66d9b62e38",
"name": "Sticky Note9",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1952,
-1552
],
"parameters": {
"color": 3,
"width": 688,
"height": 320,
"content": "# βοΈ Posting Schedule Configuration\n\nThe workflow's **Schedule Trigger** lets you control how often content is automatically published or drafted. You can set your preferred frequency (hourly, daily, weekly, etc.) and the system will:\n \n\n - Pull fresh articles from your content database\n - Generate platform-optimized posts using AI \n - Auto-publish or save as drafts based on your settings\n\n\nThis creates a consistent content cadence without manual intervention, keeping your social channels active with minimal effort."
},
"typeVersion": 1
},
{
"id": "fc965fbe-8cb0-47fd-9209-c8da0ceed904",
"name": "Sticky Note10",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1952,
-1216
],
"parameters": {
"color": 4,
"width": 688,
"height": 496,
"content": "# βοΈ Custom AI Generator Parameters & Other Settings\n\nπ¨ **Niche:** The creator's niche market, audience, etc. \n\nπ¬ **Tone:** What tone should the post have? (e.g. Professional & polished, friendly & conversational, urgent & punchy ...)\n\nπ― **Goal:** Whatβs the primary goal of your social post? (e.g. Drive traffic to the article, spark discussion or debate, build brand authority...)\n\nπ₯ **Target Audience:** Who is your target audience? (e.g. Industry professionals, general public, students or academics ... )\n\nβοΈ **Custom Hashtags & Mentions:** Any specific keywords, hashtags, or handles to include? (e.g. # DigitalMarketing, @n8n, #automation)\n\nπ **Is Draft?:** Set the posting mode to be immediate (false) or draft (true).\n\nπΌοΈ **Generate Image Prompt**: Enable (true) or disable (false) AI-generated images for posts per platform. \n\nπͺͺ**Platform Account ID**: Set the GetLate Account ID for each platform generated content will be posted to. \n\n\n"
},
"typeVersion": 1
}
],
"active": true,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "5125b187-1f52-4c4d-bb3e-f36b9639e71f",
"connections": {
"Bluesky SMCG": {
"main": [
[
{
"node": "Check For Image Generation Prompt (Bluesky)",
"type": "main",
"index": 0
}
]
]
},
"LinkedIn SMCG": {
"main": [
[
{
"node": "Check For Image Generation Prompt (LinkedIn)",
"type": "main",
"index": 0
}
]
]
},
"Check Platform": {
"main": [
[
{
"node": "LinkedIn SMCG Prompt",
"type": "main",
"index": 0
}
],
[
{
"node": "Bluesky SMCG Prompt",
"type": "main",
"index": 0
}
]
]
},
"Groq Chat Model": {
"ai_languageModel": [
[
{
"node": "LinkedIn SMCG",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Groq Chat Model1": {
"ai_languageModel": [
[
{
"node": "Bluesky SMCG",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Pull New Article": {
"main": [
[
{
"node": "Set SMCG Custom Prompt Parameters",
"type": "main",
"index": 0
}
]
]
},
"Set Post Schedule": {
"main": [
[
{
"node": "Pull New Article",
"type": "main",
"index": 0
}
]
]
},
"Bluesky SMCG Prompt": {
"main": [
[
{
"node": "Bluesky SMCG",
"type": "main",
"index": 0
}
]
]
},
"LinkedIn SMCG Prompt": {
"main": [
[
{
"node": "LinkedIn SMCG",
"type": "main",
"index": 0
}
]
]
},
"Set Platform (Bluesky)": {
"main": [
[
{
"node": "Markdown: Convert Article Content1",
"type": "main",
"index": 0
}
]
]
},
"Set Platform (LinkedIn)": {
"main": [
[
{
"node": "Markdown: Convert Article Content",
"type": "main",
"index": 0
}
]
]
},
"Structured Output Parser": {
"ai_outputParser": [
[
{
"node": "LinkedIn SMCG",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Structured Output Parser1": {
"ai_outputParser": [
[
{
"node": "Bluesky SMCG",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Generate Post Image (Bluesky)": {
"main": [
[
{
"node": "Convert Image to Base64 (Bluesky)",
"type": "main",
"index": 0
}
]
]
},
"Generate Post Image (LinkedIn)": {
"main": [
[
{
"node": "Convert Image to Base64 (LinkedIn)",
"type": "main",
"index": 0
}
]
]
},
"Store Image on Imgbb (Bluesky)": {
"main": [
[
{
"node": "Post/Draft via GetLate API (Bluesky)",
"type": "main",
"index": 0
}
]
]
},
"Store Image on Imgbb (LinkedIn)": {
"main": [
[
{
"node": "Post/Draft via GetLate API (LinkedIn)",
"type": "main",
"index": 0
}
]
]
},
"Convert Image to Base64 (Bluesky)": {
"main": [
[
{
"node": "Store Image on Imgbb (Bluesky)",
"type": "main",
"index": 0
}
]
]
},
"Markdown: Convert Article Content": {
"main": [
[
{
"node": "Store Article Content (LinkedIn)",
"type": "main",
"index": 0
}
]
]
},
"Set SMCG Custom Prompt Parameters": {
"main": [
[
{
"node": "Check Platform",
"type": "main",
"index": 0
}
]
]
},
"Convert Image to Base64 (LinkedIn)": {
"main": [
[
{
"node": "Store Image on Imgbb (LinkedIn)",
"type": "main",
"index": 0
}
]
]
},
"Markdown: Convert Article Content1": {
"main": [
[
{
"node": "Store Article Content",
"type": "main",
"index": 0
}
]
]
},
"Post/Draft via GetLate API (Bluesky)": {
"main": [
[
{
"node": "Store Generated Post Content (Bluesky)",
"type": "main",
"index": 0
}
]
]
},
"Post/Draft via GetLate API (LinkedIn)": {
"main": [
[
{
"node": "Store Generated Post Content (LinkedIn)",
"type": "main",
"index": 0
}
]
]
},
"RSS Feed Trigger: '#to-share-bluesky'": {
"main": [
[
{
"node": "Set Platform (Bluesky)",
"type": "main",
"index": 0
}
]
]
},
"RSS Feed Trigger: '#to-share-linkedin'": {
"main": [
[
{
"node": "Set Platform (LinkedIn)",
"type": "main",
"index": 0
}
]
]
},
"Check For Image Generation Prompt (Bluesky)": {
"main": [
[
{
"node": "Generate Post Image (Bluesky)",
"type": "main",
"index": 0
}
],
[
{
"node": "Post/Draft via GetLate API (No Image, Bluesky)",
"type": "main",
"index": 0
}
]
]
},
"Check For Image Generation Prompt (LinkedIn)": {
"main": [
[
{
"node": "Generate Post Image (LinkedIn)",
"type": "main",
"index": 0
}
],
[
{
"node": "Post/Draft via GetLate API (No Image, LinkedIn))",
"type": "main",
"index": 0
}
]
]
},
"Post/Draft via GetLate API (No Image, Bluesky)": {
"main": [
[
{
"node": "Store Generated Post Content (No Image, Bluesky)",
"type": "main",
"index": 0
}
]
]
},
"Post/Draft via GetLate API (No Image, LinkedIn))": {
"main": [
[
{
"node": "Store Generated Post Content (No Image, LinkedIn)",
"type": "main",
"index": 0
}
]
]
}
}
}