Daily AI Social Post Engine with Airtable, Claude, OpenAI, and Buffer
High-Level Summary
This workflow automates your daily social media content creation and scheduling. Every morning at 8 AM, it picks a fresh topic from an Airtable idea bank (avoiding recently used topics), generates a professional caption using Anthropic's Claude, creates a matching AI-generated image via OpenAI, hosts the image on ImgBB, and schedules the post to both LinkedIn and Instagram through Buffer. The built-in anti-repeat logic ensures you never publish the same topic twice within 14 days, keeping your feed diverse and engaging.
Node Breakdown
Below is every node in the workflow, its type, authentication method, and what its configured parameters do.
- Schedule Trigger Posts (
n8n-nodes-base.scheduleTrigger) — No auth. Runs the workflow daily at 08:00 (workflow timezone). ThetriggerAtHourparameter sets the hour; you can change the interval to run more or less frequently. - Get Post Ideas (
n8n-nodes-base.airtable) — Airtable API (API Key or OAuth2). Searches the Airtable base for rows in the 'Topics' table whereActive= TRUE. This returns your pool of available post topics. - Check History Posts (
n8n-nodes-base.airtable) — Airtable API (API Key or OAuth2). Fetches the last 14 published posts from the 'Posts' table, sorted byDatedescending. ThealwaysOutputDataoption is enabled so an empty table does not break the workflow. - Filter and Choose Post Topic (
n8n-nodes-base.code) — No auth. A JavaScript code node that compares the active topics against the last 14 published topics, filters out any that were used recently, and picks one at random. Outputs{ topic, isValid }. - Is Valid Post? (
n8n-nodes-base.if) — No auth. Checks ifisValidis true. If yes, the workflow continues to generate content; if false, it routes to the No Operation node and stops (no post is created). - No Operation, do nothing (
n8n-nodes-base.noOp) — No auth. A dead-end node that does nothing. Used when no fresh topic is available. - Claude - Write Post Text (
n8n-nodes-base.httpRequest) — Anthropic API (API Key viaanthropicApicredential). Sends a POST request tohttps://api.anthropic.com/v1/messageswith a custom prompt that includes brand context, tone rules, and the chosen topic. The response contains the generated caption. - Put Text in Variable (
n8n-nodes-base.set) — No auth. Extracts the caption text from the Claude response and stores it in a variablepostTextfor use in later nodes. - ChatGPT - Generate Image (
n8n-nodes-base.httpRequest) — OpenAI API (API Key viaopenAiApicredential). Sends a POST request tohttps://api.openai.com/v1/images/generationswith a detailed prompt that includes the topic, the generated caption, brand colors, and style instructions. Returns a base64-encoded image. - Base64 to PNG (
n8n-nodes-base.convertToFile) — No auth. Converts the base64 image data from the OpenAI response into a binary PNG file with filenamekijkes-image.png. - Upload Post to ImgBB (
n8n-nodes-base.httpRequest) — API Key (passed as query parameterkey). Uploads the PNG file to ImgBB via multipart form-data. Returns a public image URL. - Create LinkedIn Post (
@bufferapp/n8n-nodes-buffer.buffer) — Buffer OAuth2. Creates a new post in Buffer for the LinkedIn channel using the caption and image URL. RequiresorganizationIdandchannelIdto be filled in. - Create Instagram Post (
@bufferapp/n8n-nodes-buffer.buffer) — Buffer OAuth2. Creates a new post in Buffer for the Instagram channel using the same caption and image URL. Also requiresorganizationIdandchannelId. - Log Posted Content (
n8n-nodes-base.airtable) — Airtable API (API Key or OAuth2). Creates a new record in the 'Posts' table with the topic, caption, and image URL. This record is used by the anti-repeat logic on subsequent runs. - Sticky Note1 (
n8n-nodes-base.stickyNote) — No auth. Informational note describing the topic selection phase. - Sticky Note2 (
n8n-nodes-base.stickyNote) — No auth. Informational note describing the content generation phase. - Sticky Note3 (
n8n-nodes-base.stickyNote) — No auth. Informational note describing the publishing and logging phase. - Sticky Note5 (
n8n-nodes-base.stickyNote) — No auth. Detailed Airtable setup instructions. - Sticky Note6 (
n8n-nodes-base.stickyNote) — No auth. Overview and setup summary.
Setup Instructions
To use this workflow, you need the following accounts and credentials:
- Airtable – Create a base with two tables:
- Topics (fields:
Topic(text),Active(checkbox)) – your idea bank. Only checked rows are considered. - Posts (fields:
Date(created time),Topic(text),Post(long text),Image URL(URL)) – history of published posts. TheDatefield must be a Created time type for sorting to work. - Add at least 15 active topics to avoid the workflow stopping.
- Topics (fields:
- Anthropic – Sign up at console.anthropic.com and get an API key. Create an
Anthropic APIcredential in n8n. - OpenAI – Sign up at platform.openai.com and get an API key. Create an
OpenAI APIcredential in n8n. - ImgBB – Register at imgbb.com and get a free API key. Replace
YOUR_IMGBB_API_KEYin the Upload Post to ImgBB node's query parameters. - Buffer – Connect your LinkedIn and Instagram channels to Buffer. Create a
Buffer OAuth2credential in n8n. Then find your organization ID and channel IDs (from Buffer's API or dashboard) and fill them in both Buffer nodes.
After setting up credentials, configure the Airtable nodes to point to your base and tables (use the resource locator to select them). Edit the Claude prompt in the Claude - Write Post Text node to match your brand voice, and adjust the image prompt in the ChatGPT - Generate Image node for your brand colors and style.
Use Cases and Variations
- Multi-platform scheduling – Add more Buffer nodes for Twitter, Facebook, or Pinterest by duplicating the existing Buffer nodes and changing the channel ID.
- Different AI models – Swap Claude for OpenAI's GPT-4 or use a local LLM via HTTP Request. Similarly, replace OpenAI image generation with Stable Diffusion or DALL·E 3.
- Alternative image hosting – Replace ImgBB with AWS S3, Google Cloud Storage, or Cloudinary by using their respective HTTP Request nodes.
- Weekly digest – Change the schedule trigger to run weekly instead of daily, and adjust the anti-repeat limit (e.g., 4 weeks).
- Video posts – Extend the workflow to generate short videos using AI video tools (e.g., RunwayML) and schedule them via Buffer's video support.
- Content repurposing – After posting, use the logged data to create a monthly report or feed into a content calendar.
Workflow JSON
{
"meta": {
"templateCredsSetupCompleted": false
},
"name": "Daily AI Social Post — Airtable + Claude + AI Image + Buffer",
"tags": [],
"nodes": [
{
"id": "bba4f2bc-e012-4ed1-bb7e-dcc3d265bcd8",
"name": "Schedule Trigger Posts",
"type": "n8n-nodes-base.scheduleTrigger",
"notes": "Runs every day at 08:00 (workflow timezone). Change the hour/interval here to adjust your posting rhythm.",
"position": [
608,
128
],
"parameters": {
"rule": {
"interval": [
{
"triggerAtHour": 8
}
]
}
},
"notesInFlow": false,
"typeVersion": 1.3
},
{
"id": "dd4c240e-212b-46ac-b6ce-c7aa1a91f416",
"name": "Get Post Ideas",
"type": "n8n-nodes-base.airtable",
"notes": "Reads every row from the 'Topics' table where Active = TRUE. This is your idea bank: one topic per row in a field called 'Topic'.",
"position": [
832,
128
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": ""
},
"table": {
"__rl": true,
"mode": "list",
"value": ""
},
"options": {},
"operation": "search",
// ... truncated (copy to see full JSON)How to Import This Workflow
- 1Copy the workflow JSON above using the Copy Workflow JSON button.
- 2Open your n8n instance and go to Workflows.
- 3Click Import from JSON and paste the copied workflow.
Don't have an n8n instance? Start your free trial at n8nautomation.cloud
Related Templates
AI Viral Video Creator from Telegram with Voice & Multi-Platform Posting
🚀 Automatically Generate and Publish Viral TikTok-Style Videos from a Simple Telegram Message This workflow transforms a single Telegram message containing a photo and a theme (caption) into a fully-produced, AI-generated talking-head video optimized for viral social media content. It leverages Perplexity for trend research, OpenAI GPT-4 for script and caption generation, ElevenLabs for realistic voice synthesis, and FAL.ai's VEED Fabric model to create a lip-synced avatar video from the photo. The final video, along with an engaging caption and relevant hashtags, is saved to Google Sheets for tracking and then automatically published to up to nine social media platforms—TikTok, YouTube, Instagram, LinkedIn, Facebook, Twitter (X), Threads, Pinterest, and Bluesky—via the Blotato integration. This is an end-to-end content creation pipeline perfect for creators, marketers, and businesses who want to maintain a consistent, high-frequency posting schedule without manual video editing. It reduces the time from idea to published video to under 5 minutes. 📋 Node-by-Node Breakdown Telegram Trigger (Telegram Bot Token) — Listens for incoming messages containing a photo and caption. The trigger activates on updates. No additional filtering is applied; every photo with a caption will start the workflow. Workflow Configuration (No auth) — A static Set node that stores API keys and configuration values (ElevenLabs API key, voice ID, FAL API key, and the Perplexity model name) as workflow variables for easy maintenance. Extract Photo and Theme (No auth) — Extracts the largest photo file ID from the Telegram message and the caption (or text) as the theme. Falls back to "viral content" if no caption is provided. Get Photo File from Telegram (Telegram Bot Token) — Uses the Telegram Bot API to download the photo file specified by the file ID extracted in the previous step. Build Public Image URL (No auth) — Uploads the downloaded photo to to obtain a publicly accessible URL. This URL is later used by FAL.ai's VEED Fabric model. Search Trends with Perplexity (Perplexity API key) — Sends a query to Perplexity AI asking for the top 3 current viral trends related to the user's theme. The model is configured dynamically from the workflow configuration node. Generate Script with GPT-4 (OpenAI API key) — Uses OpenAI GPT-4o-mini to generate a 30-second TikTok script based on the trends found by Perplexity and the original theme. The prompt enforces a hook in the first 2 seconds and conversational tone. ElevenLabs Voice Synthesis (API key in header) — Sends the generated script to ElevenLabs' text-to-speech API with the configured voice ID, producing an MP3 audio file. Uses header for authentication. Convert .mpga to .mp3 (No auth) — A JavaScript Code node that renames the binary audio file from to and sets the correct MIME type, ensuring compatibility with downstream nodes. Upload Audio to Public URL (No auth) — Uploads the MP3 audio to to make it publicly accessible for FAL.ai. FAL.ai Video Generation (API key in header) — Sends a request to FAL.ai's VEED Fabric 1.0 endpoint with the public image URL and audio URL to generate a talking-head lip-sync video at 480p resolution. Authentication uses the header with the FAL API key. Wait for VEED (No auth) — A Wait node that pauses execution for 10 minutes to allow the video generation to complete. The node uses polling via webhook (not active here) but is configured as a timed wait. Download VEED Video (API key in header) — Periodically queries the FAL.ai request status endpoint (using the request ID from the generation response) to retrieve the completed video URL. Generate Caption with GPT-4 (OpenAI API key) — A second OpenAI node that creates an engaging TikTok caption with trending hashtags based on the same theme and trends. Outputs only the caption text. Save to Google Sheets (Google Sheets OAuth2) — Appends a new row to a Google Sheet with columns: IDEA (original theme), CAPTION, AUDIO URL, IMAGE URL, VIDEO URL. The sheet and document ID are expected to be configured via resource locator or expression. Send a video (Telegram Bot Token) — Sends the generated video back to the original Telegram chat as a confirmation. Upload Video to BLOTATO (Blotato API key) — Uploads the video file to Blotato's media storage, obtaining a hosted URL for distribution. TikTok / YouTube / LinkedIn / Facebook / Instagram / Twitter (X) / Threads / Bluesky / Pinterest (Blotato API key) — Nine parallel Blotato nodes that each publish the video to their respective social media accounts. Each node uses pre-configured account IDs (list mode) and the generated caption. YouTube optionally sets the video to "private" and disables subscriber notifications. Merge1 (No auth) — A Choose Branch merge node that waits for all nine social media publishing branches to complete before continuing. Update Status to "DONE" (Google Sheets OAuth2) — Updates the corresponding row in the Google Sheet (matched by video URL) to set the STATUS column to "DONE". 🔧 Setup Instructions To use this workflow, you'll need the following accounts and API keys: Telegram — Create a bot via @BotFather and get the bot token. Use it in the Telegram Trigger and Telegram nodes. ElevenLabs — Sign up at elevenlabs.io, generate an API key, and clone or select a voice. Note the Voice ID. FAL.ai — Sign up at fal.ai, create an API key from the dashboard. The workflow uses the VEED Fabric 1.0 model – no separate VEED subscription is needed. Perplexity AI — Sign up at perplexity.ai, get an API key from settings. OpenAI — Sign up at platform.openai.com, create an API key with access to GPT-4o-mini. Google Sheets — Create a Google Sheet with the required columns (IDEA, URL IMAGE, URL AUDIO, URL VIDEO, CAPTION, STATUS). Set up Google Sheets OAuth2 credentials in n8n. Blotato — Sign up at blotato.com, get an API key from settings. Install the community node in n8n (Settings → Community Nodes). Connect each social media account within Blotato to obtain account IDs. tmpfiles.org — No account required; the service is used for temporary file hosting. After obtaining all keys, update the Workflow Configuration node with your values and configure credentials for each API node (Telegram, Perplexity, OpenAI, Google Sheets, Blotato). The sticky notes in the canvas provide step-by-step visual guidance. 💡 Use Cases & Variations Content Repurposing: The workflow can be adapted to repurpose a blog post or article into a short video by feeding the text as a theme. Brand Voice: Customize the ElevenLabs voice to match your brand's tone. Trend-Driven Campaigns: Use Perplexity with different prompts to focus on niche topics (e.g., "tech startups", "healthy recipes"). Platform-Specific Formatting: Modify the caption generation prompt to include platform-specific elements (e.g., LinkedIn professional tone, Twitter character limit). Scheduling: Add a Schedule Trigger to run the workflow periodically with pre-defined themes from a spreadsheet instead of Telegram. Analytics: Extend the Google Sheet with additional columns for engagement metrics by integrating with social media analytics APIs. This workflow is fully modular; you can remove any of the Blotato publishing nodes if you only need specific platforms.
AI-Powered Social Media Post Automation from Google Trends
AI-Powered Social Media Post Automation from Google Trends This workflow automatically generates and publishes social media posts based on trending Google search queries. It combines Google Trends data, AI content generation, and multi-platform publishing to keep your social channels active with relevant, engaging content without manual effort. The workflow runs twice daily (at 6 AM and 6 PM) and follows a pipeline: fetch trending keywords → select the best topic → generate a human-like post using Perplexity AI → publish to X (Twitter), Facebook, and LinkedIn → log the activity in Google Sheets. This is ideal for marketers, social media managers, and content creators who want to maintain a consistent posting schedule with minimal intervention. How It Works Schedule Trigger — Runs the workflow twice daily at 6 AM and 6 PM (no auth required). Google Trends (HTTP Request) — Fetches related queries from Google Trends via SerpAPI. Uses API Key auth (the parameter is passed as a query parameter). It retrieves rising queries for the keyword "ai agents" in the US over the last 3 days. 2 Most Trending (Set) — Extracts the top two rising queries from the Google Trends response and structures them into a clean JSON object with and keys. High search volume keywords (Code) — Filters the top related queries to include only those with an extracted value (search volume increase) greater than 30, and joins them into a comma-separated string. Choosing Topic (OpenAI) — Uses GPT-3.5-turbo to select the most relevant keyword from the two trending options, based on the client's SEO goals and trendiness. Requires OpenAI API key. Research Topic- Perplexity (HTTP Request) — Sends the chosen topic to Perplexity's API (sonar-pro model) to generate a complete LinkedIn post. Uses Header Auth (HTTP Header Auth) with your Perplexity API key. The prompt instructs the AI to write a human-like, engaging post with Unicode formatting, bullet points, and a call-to-action. Wait — Pauses for 10 seconds to ensure the AI generation is complete and to avoid rate limits. Split Out — Splits the AI-generated content from the Perplexity response into separate items for each social platform. X1 (Twitter) — Publishes the post to X (Twitter) using OAuth2 authentication. Facebook Graph API1 — Publishes the post to a Facebook Page using OAuth2 authentication. LinkedIn1 — Publishes the post to LinkedIn using Community Management authentication (OAuth2). Google Sheets2 — Appends or updates a row in Google Sheets with the topic, AI output, status, and date posted. Uses OAuth2 authentication. Setup Instructions To use this workflow, you'll need accounts and credentials for the following services: SerpAPI — Sign up at serpapi.com and get an API key. Replace in the Google Trends node. OpenAI — Create an API key at platform.openai.com. Add it as a credential in n8n. Perplexity — Get an API key from perplexity.ai and set it as an HTTP Header Auth credential. X (Twitter) — Create a Twitter app and obtain OAuth2 credentials. Facebook — Create a Facebook app and get a Page Access Token with permission. LinkedIn — Create a LinkedIn app and get a Community Management token. Google Sheets — Create a Google Cloud project, enable Sheets API, and set up OAuth2 credentials. Replace the document ID and sheet name in the Google Sheets node. After setting up credentials, update the Google Sheets document ID and sheet name, and configure the LinkedIn person ID (replace ). Use Cases and Variations Content Marketing — Automate daily posting of trending topics to multiple platforms, saving hours of manual research and writing. SEO Blogging — Modify the workflow to generate full blog posts instead of social media posts and publish to a CMS like WordPress. Multi-Client Management — Adapt the workflow to handle multiple clients by adding a loop or using a different Google Sheets row for each client. Custom Keywords — Change the parameter in the Google Trends node to target different niches or industries. Additional Platforms — Add more social media nodes (e.g., Instagram, Pinterest) by connecting them to the Split Out node. Human Review — Insert a manual approval step (e.g., using the Wait node or a Slack notification) before publishing to ensure content quality.
Generate Videos & Carousels with Blotato, Publish to Instagram & TikTok
Overview This workflow creates a fully autonomous AI-powered social media content pipeline. It listens for incoming Telegram messages containing a public URL (YouTube video, article, Instagram post, etc.) and a target platform (Instagram or TikTok). The AI agent then extracts the content, generates a custom visual using Blotato's AI tools, waits for the visual to be fully rendered, publishes it to the specified social media account, and finally sends a confirmation message back to the user on Telegram. This eliminates the manual work of content repurposing, design, and cross-platform posting. This is ideal for content creators, marketers, and businesses who want to repurpose long-form content into short-form social media posts automatically. The AI handles the entire decision-making and execution process, making it a true "set and forget" automation. Workflow Steps Telegram Trigger (No auth) — Listens for incoming Telegram messages. Configured to capture all updates. This is the entry point; the user sends a URL and a platform request (e.g., "Post this YouTube video to Instagram"). Social Media Autopilot (AI Agent, uses OpenAI & Blotato tools) — The core AI agent. It receives the Telegram message text and uses a detailed system prompt to orchestrate the entire pipeline. It decides which tools to call and in what order. The agent uses: - OpenAI ChatGPT (API Key auth) — The language model powering the agent's reasoning. Uses model. - Simple Memory (No auth) — A buffer memory that stores the last 35 conversation turns, allowing the agent to maintain context across multiple tool calls (e.g., polling for status). Create source (Blotato API Key auth) — Takes the extracted URL from the user's message and creates a content source in Blotato. This fetches and processes the content from the URL (e.g., extracts article text, video transcript). Get source (Blotato API Key auth) — Polls the source created in step 3 until its becomes . This ensures the content is fully extracted before proceeding. Create visual - tweet card carousel (Blotato API Key auth) — Used when the target platform is Instagram. Generates a carousel of tweet-style quote cards using a predefined template. Configured with a default profile image, author name, and handle. Create visual - AI image video (Blotato API Key auth) — Used when the target platform is TikTok. Generates an AI-powered video with scenes, voiceover, and captions. Configured with a deep American voice (Brian) and the Recraft v3 AI image model. Get visual (Blotato API Key auth) — Polls the visual generation job until its is exactly . This is critical to ensure the media is fully rendered before publishing. Post to Instagram (Blotato API Key auth) — Publishes the generated carousel to the connected Instagram account (). Uses the media URLs from the completed visual. Post to TikTok (Blotato API Key auth) — Publishes the generated video to the connected TikTok account (). Uses the media URL from the completed visual. Send notification (Telegram Bot Token auth) — Sends a confirmation message back to the original Telegram chat, confirming successful publication (e.g., "✅ Published successfully on Instagram."). Setup Instructions To use this workflow, you will need: n8n instance — Self-hosted or cloud (n8n.cloud). Blotato account — Sign up at blotato.com and get your API key. Connect your Instagram and TikTok accounts inside Blotato. Telegram Bot — Create a bot via @BotFather and get the bot token. This is used for both the trigger and the notification. OpenAI API key — Required for the AI agent. Get one from platform.openai.com. Configuration steps: Import the workflow JSON into n8n. Add your Blotato API credentials as a credential of type "Blotato API". Add your OpenAI API key as a credential of type "OpenAI". Add your Telegram Bot token as a credential of type "Telegram Bot API". In the Post to Instagram and Post to TikTok nodes, select the correct Blotato-connected accounts from the dropdown. Activate the workflow. Use Cases & Variations Content Repurposing: Automatically turn YouTube videos into TikTok clips or blog posts into Instagram carousels. Multi-Platform Posting: Extend the workflow to post to other platforms like LinkedIn, Facebook, or Twitter by adding more Blotato post nodes. Scheduled Digests: Replace the Telegram trigger with a Schedule trigger to automatically process a list of URLs from a Google Sheet or RSS feed. Brand Customization: Modify the carousel template ID and video settings (voice, model, colors) to match your brand guidelines. Approval Workflow: Add a manual approval step (e.g., a Slack message with buttons) before publishing, giving you control over what goes live.