Automated Instagram Reels posting from Airtable content calendar
A guide to understand, operate, and extend the workflow.
1) What this workflow does (and why it’s useful)
Goal: Turn a simple Airtable sheet into a content calendar that automatically publishes Instagram Reels via the Instagram Graph API, on a schedule you control in n8n.
Why this matters:
- Your team plans everything in Airtable (user-friendly, collaborative).
- n8n posts for you at the right time, every time.
- You keep full control (no third-party SaaS lock-in, no manual uploads).
- Later, you can reuse the same queue to post YouTube Shorts / TikTok (omnichannel).
Core flow (one row = one post):
- Cron starts the workflow at a set time.
- Airtable – Search grabs due rows:
status = "To Post" AND scheduled_at <= NOW() AND platform = "IG". - Split Out processes each row individually.
- Set (Map fields) normalizes Airtable fields →
video_url,caption,recordId. - IG: Create Media Container registers your video as REEL.
- Wait 90s lets IG process the video.
- IG: Publish Reel publishes the container.
- Airtable – Update marks the row as Posted, stores
ig_media_id, and timestamp.
2) Architecture at a glance
[Cron]
→ [Airtable: Search records]
→ [Split Out: records]
→ [Set: Map fields]
→ [IG: Create Media Container]
→ [Wait 90s]
→ [IG: Publish Reel]
→ [Airtable: Update record]
Sticky Notes inside the workflow explain each step (they’re rendered from parameters.content with Markdown).
3) Airtable schema (recommended)
Create a table (e.g., Posts) with these fields:
| Field | Type | Purpose |
|---------------|-----------------|-------------------------------------------------------|
| video_url | URL or Text | Directly accessible (public) URL to your MP4 |
| caption | Long text | Final caption (hashtags, line breaks, emojis) |
| platform | Single select | Set IG for this workflow |
| status | Single select | To Post → will be picked up; Posted later |
| scheduled_at| Date/Time (UTC) | When to post |
| ig_media_id | Text (optional) | Filled by n8n after publishing |
| posted_at | Date/Time | Filled by n8n after publishing |
Filter used in the Airtable “Search records” node:
AND({status}='To Post', {scheduled_at}<=NOW(), {platform}='IG')
> Tip: If you localize/rename fields, update the filter accordingly.
4) Prerequisites & credentials
- Instagram Business/Creator account connected to a Facebook Page.
- IG User ID for the connected account.
- Long-lived IG Access Token with permissions to create and publish content.
- n8n environment variables (Settings → Environments):
IG_API_VERSION(e.g.,v21.0)IG_USER_IDIG_ACCESS_TOKEN
- Airtable credential in n8n using a Personal Access Token (as in your example).
- A publicly accessible
video_url(e.g., S3/GCS signed URL, public CDN, Drive/Dropbox direct link). The API pulls from your URL; it cannot fetch files behind logins.
5) Node-by-node deep dive (what each node expects/returns)
A) Cron Trigger
- What it does: Starts the workflow on a schedule (daily at 09:00 in the template).
- How to use: Adjust hours/minutes to your cadence (hourly, twice a day, etc.).
B) Airtable: Search records
- Operation:
search - Base/Table: Select from dropdowns (matches your account).
- Options → filterByFormula:
AND({status}='To Post', {scheduled_at}<=NOW(), {platform}='IG') - Return: An array under
records[]. Eachrecordhasidandfields.
C) Split Out: records
- What it does: Turns the
records[]array into individual items. - Why: Downstream steps can then act on each post separately.
D) Set: Map fields
- What it does: Normalizes data to predictable keys and keeps the
recordId. - Outputs:
recordId={{$json.id}}video_url={{$json.fields.video_url}}caption={{$json.fields.caption}}scheduled_at={{$json.fields.scheduled_at}}
E) IG: Create Media Container (REELS)
- Endpoint:
POST https://graph.facebook.com/{v}/{ig-user-id}/media - Body params:
video_url={{$json.video_url}}caption={{$json.caption}}media_type=REELSshare_to_feed=true(optional)access_token=${IG_ACCESS_TOKEN}
- Return: JSON with container id under
id(this is yourcreation_idfor publishing).
F) Wait 90s
- Why: IG needs time to process the video behind
video_url. - Tip: If your videos are large or high bitrate, you may increase to
120–180s.
G) IG: Publish Reel
- Endpoint:
POST https://graph.facebook.com/{v}/{ig-user-id}/media_publish - Body params:
creation_id = {{$json.id}}(the container id from step E)access_token = ${IG_ACCESS_TOKEN}
- Return: JSON with
id= ig_media_id (the published media).
H) Airtable: Update record
- What it does: Writes results back to the same row.
- Fields updated (example):
status = "Posted"ig_media_id = {{$json.id}}posted_at = {{$now}}
6) First-run checklist (do this once)
- In both Airtable nodes, pick your Base and Table (via dropdown).
- Confirm filterByFormula matches your field names exactly.
- Add one test row in Airtable:
video_url= a public MP4 URLcaption= a small captionplatform=IGstatus=To Postscheduled_at= in the past (so it’s due now)
- Set Cron to run in the next minute (or click Execute Workflow manually).
- Confirm the flow:
- Airtable search → returns 1 record
- Container created → you get an
id - After 90s → Publish returns a
media id - Airtable updated → row becomes
Postedwithig_media_idandposted_at
7) Daily operations (how to use it day-to-day)
- Your team fills Airtable with upcoming posts.
- Keep
status = To Post, set accuratescheduled_atin UTC. - n8n’s Cron checks regularly and posts due items.
- After publishing, the row is marked Posted (so it won’t re-post).
Backfilling:
If you need to post a bunch of older content, set scheduled_at in the past for those rows and let Cron pick them up. If needed, run the workflow manually.
Automated Instagram Reels Posting from Airtable Content Calendar
This n8n workflow automates the process of posting Instagram Reels directly from content scheduled in an Airtable content calendar. It allows content creators and social media managers to streamline their publishing process, ensuring timely and consistent delivery of Reels without manual intervention.
What it does
This workflow simplifies and automates the following steps:
- Scheduled Trigger: The workflow is initiated on a predefined schedule (e.g., daily, hourly) using the Cron node.
- Fetch Content from Airtable: It connects to an Airtable base to retrieve content entries, likely looking for Reels that are scheduled to be posted.
- Process Content: The retrieved data is then processed. This might involve:
- Editing Fields: Using the "Edit Fields (Set)" node to transform or prepare data for the Instagram API.
- Splitting Out Items: If multiple Reels are fetched, the "Split Out" node ensures each Reel is processed individually.
- Wait (Optional Delay): A "Wait" node is included, which can be used to introduce a delay between processing items or before posting, if needed, to adhere to API rate limits or specific scheduling requirements.
- Post to Instagram: An "HTTP Request" node is used to interact with the Instagram API, sending the prepared content to create and publish a new Reel.
Prerequisites/Requirements
To use this workflow, you will need:
- n8n Instance: A running instance of n8n.
- Airtable Account: An Airtable account with a base and table set up as a content calendar for your Instagram Reels. You'll need the Base ID and Table Name.
- Airtable API Key: An API key for your Airtable account to allow n8n to access your data.
- Instagram Business Account: An Instagram Business or Creator account.
- Facebook Developer Account / Instagram Graph API Access: Access to the Instagram Graph API through a Facebook Developer account to generate the necessary access tokens for posting Reels.
- Instagram Access Token: A long-lived access token for your Instagram Business/Creator account, configured to allow publishing.
Setup/Usage
- Import the Workflow: Download the provided JSON and import it into your n8n instance.
- Configure Cron Trigger:
- Open the "Cron" node.
- Set the desired schedule for when the workflow should check for new Reels to post (e.g., "Every day at 9 AM").
- Configure Airtable Node:
- Open the "Airtable" node.
- Select or create an Airtable credential. This will require your Airtable API Key.
- Enter your Base ID and Table Name where your Reels content calendar is located.
- Configure the "Read" operation to fetch the relevant records (e.g., records with a "Status" of "Ready to Post" and a "Publish Date" in the past or current).
- Configure Edit Fields (Set) Node:
- Review the "Edit Fields" node. This node is likely used to map Airtable fields to the data structure required by the Instagram API (e.g.,
video_url,caption,cover_image_url). Adjust the expressions to match your Airtable field names.
- Review the "Edit Fields" node. This node is likely used to map Airtable fields to the data structure required by the Instagram API (e.g.,
- Configure Wait Node (Optional):
- If you need a delay, configure the "Wait" node with the desired duration (e.g., 5 seconds). If not needed, you can bypass or remove this node.
- Configure HTTP Request Node (Instagram API):
- Open the "HTTP Request" node.
- Set the Method to
POST. - Set the URL to the Instagram Graph API endpoint for publishing Reels (e.g.,
https://graph.facebook.com/v17.0/{instagram-user-id}/media). - Add Headers for
Authorizationwith your Instagram Access Token (e.g.,Bearer YOUR_INSTAGRAM_ACCESS_TOKEN). - Configure the Body of the request to send the Reel's video URL, caption, and any other necessary parameters as required by the Instagram Graph API. Use expressions to pull data from previous nodes (e.g.,
{{$json.video_url}},{{$json.caption}}).
- Activate the Workflow: Once all configurations are complete, activate the workflow. It will now run automatically based on your Cron schedule.
Ensure your Airtable content calendar includes fields for the video URL, caption, and any other relevant metadata for your Instagram Reels.
Related Templates
AI multi-agent executive team for entrepreneurs with Gemini, Perplexity and WhatsApp
This workflow is an AI-powered multi-agent system built for startup founders and small business owners who want to automate decision-making, accountability, research, and communication, all through WhatsApp. The “virtual executive team,” is designed to help small teams to work smarter. This workflow sends you market analysis, market and sales tips, It can also monitor what your competitors are doing using perplexity (Research agent) and help you stay a head, or make better decisions. And when you feeling stuck with your start-up accountability director is creative enough to break the barrier 🎯 Core Features 🧑💼 1. President (Super Agent) Acts as the main controller that coordinates all sub-agents. Routes messages, assigns tasks, and ensures workflow synchronization between the AI Directors. 📊 2. Sales & Marketing Director Uses SerpAPI to search for market opportunities, leads, and trends. Suggests marketing campaigns, keywords, or outreach ideas. Can analyze current engagement metrics to adjust content strategy. 🕵️♀️ 3. Business Research Director Powered by Perplexity AI for competitive and market analysis. Monitors competitor moves, social media engagement, and product changes. Provides concise insights to help the founder adapt and stay ahead. ⏰ 4. Accountability Director Keeps the founder and executive team on track. Sends motivational nudges, task reminders, and progress reports. Promotes consistency and discipline — key traits for early-stage success. 🗓️ 5. Executive Secretary Handles scheduling, email drafting, and reminders. Connects with Google Calendar, Gmail, and Sheets through OAuth. Automates follow-ups, meeting summaries, and notifications directly via WhatsApp. 💬 WhatsApp as the Main Interface Interact naturally with your AI team through WhatsApp Business API. All responses, updates, and summaries are delivered to your chat. Ideal for founders who want to manage operations on the go. ⚙️ How It Works Trigger: The workflow starts from a WhatsApp Trigger node (via Meta Developer Account). Routing: The President agent analyzes the incoming message and determines which Director should handle it. Processing: Marketing or sales queries go to the Sales & Marketing Director. Research questions are handled by the Business Research Director. Accountability tasks are assigned to the Accountability Director. Scheduling or communication requests are managed by the Secretary. Collaboration: Each sub-agent returns results to the President, who summarizes and sends the reply back via WhatsApp. Memory: Context is maintained between sessions, ensuring personalized and coherent communication. 🧩 Integrations Required Gemini API – for general intelligence and task reasoning Supabase- for RAG and postgres persistent memory Perplexity API – for business and competitor analysis SerpAPI – for market research and opportunity scouting Google OAuth – to connect Sheets, Calendar, and Gmail WhatsApp Business API – for message triggers and responses 🚀 Benefits Acts like a team of tireless employees available 24/7. Saves time by automating research, reminders, and communication. Enhances accountability and strategy consistency for founders. Keeps operations centralized in a simple WhatsApp interface. 🧰 Setup Steps Create API credentials for: WhatsApp (via Meta Developer Account) Gemini, Perplexity, and SerpAPI Google OAuth (Sheets, Calendar, Gmail) Create a supabase account at supabase Add the credentials in the corresponding n8n nodes. Customize the system prompts for each Director based on your startup’s needs. Activate and start interacting with your virtual executive team on WhatsApp. Use Case You are a small organisation or start-up that can not afford hiring; marketing department, research department and secretar office, then this workflow is for you 💡 Need Customization? Want to tailor it for your startup or integrate with CRM tools like Notion or HubSpot? You can easily extend the workflow or contact the creator for personalized support. Consider adjusting the system prompt to suite your business
🎓 How to transform unstructured email data into structured format with AI agent
This workflow automates the process of extracting structured, usable information from unstructured email messages across multiple platforms. It connects directly to Gmail, Outlook, and IMAP accounts, retrieves incoming emails, and sends their content to an AI-powered parsing agent built on OpenAI GPT models. The AI agent analyzes each email, identifies relevant details, and returns a clean JSON structure containing key fields: From – sender’s email address To – recipient’s email address Subject – email subject line Summary – short AI-generated summary of the email body The extracted information is then automatically inserted into an n8n Data Table, creating a structured database of email metadata and summaries ready for indexing, reporting, or integration with other tools. --- Key Benefits ✅ Full Automation: Eliminates manual reading and data entry from incoming emails. ✅ Multi-Source Integration: Handles data from different email providers seamlessly. ✅ AI-Driven Accuracy: Uses advanced language models to interpret complex or unformatted content. ✅ Structured Storage: Creates a standardized, query-ready dataset from previously unstructured text. ✅ Time Efficiency: Processes emails in real time, improving productivity and response speed. *✅ Scalability: Easily extendable to handle additional sources or extract more data fields. --- How it works This workflow automates the transformation of unstructured email data into a structured, queryable format. It operates through a series of connected steps: Email Triggering: The workflow is initiated by one of three different email triggers (Gmail, Microsoft Outlook, or a generic IMAP account), which constantly monitor for new incoming emails. AI-Powered Parsing & Structuring: When a new email is detected, its raw, unstructured content is passed to a central "Parsing Agent." This agent uses a specified OpenAI language model to intelligently analyze the email text. Data Extraction & Standardization: Following a predefined system prompt, the AI agent extracts key information from the email, such as the sender, recipient, subject, and a generated summary. It then forces the output into a strict JSON structure using a "Structured Output Parser" node, ensuring data consistency. Data Storage: Finally, the clean, structured data (the from, to, subject, and summarize fields) is inserted as a new row into a specified n8n Data Table, creating a searchable and reportable database of email information. --- Set up steps To implement this workflow, follow these configuration steps: Prepare the Data Table: Create a new Data Table within n8n. Define the columns with the following names and string type: From, To, Subject, and Summary. Configure Email Credentials: Set up the credential connections for the email services you wish to use (Gmail OAuth2, Microsoft Outlook OAuth2, and/or IMAP). Ensure the accounts have the necessary permissions to read emails. Configure AI Model Credentials: Set up the OpenAI API credential with a valid API key. The workflow is configured to use the model, but this can be changed in the respective nodes if needed. Connect the Nodes: The workflow canvas is already correctly wired. Visually confirm that the email triggers are connected to the "Parsing Agent," which is connected to the "Insert row" (Data Table) node. Also, ensure the "OpenAI Chat Model" and "Structured Output Parser" are connected to the "Parsing Agent" as its AI model and output parser, respectively. Activate the Workflow: Save the workflow and toggle the "Active" switch to ON. The triggers will begin polling for new emails according to their schedule (e.g., every minute), and the automation will start processing incoming messages. --- Need help customizing? Contact me for consulting and support or add me on Linkedin.
Automate RSS to social media pipeline with AI, Airtable & GetLate for multiple platforms
Overview Automates your complete social media content pipeline: sources articles from Wallabag RSS, generates platform-specific posts with AI, creates contextual images, and publishes via GetLate API. Built with 63 nodes across two workflows to handle LinkedIn, Instagram, and Bluesky—with easy expansion to more platforms. Ideal for: Content marketers, solo creators, agencies, and community managers maintaining a consistent multi-platform presence with minimal manual effort. How It Works Two-Workflow Architecture: Content Aggregation Workflow Monitors Wallabag RSS feeds for tagged articles (to-share-linkedin, to-share-instagram, etc.) Extracts and converts content from HTML to Markdown Stores structured data in Airtable with platform assignment AI Generation & Publishing Workflow Scheduled trigger queries Airtable for unpublished content Routes to platform-specific sub-workflows (LinkedIn, Instagram, Bluesky) LLM generates optimized post text and image prompts based on custom brand parameters Optionally generates AI images and hosts them on Imgbb CDN Publishes via GetLate API (immediate or draft mode) Updates Airtable with publication status and metadata Key Features: Tag-based content routing using Wallabag's native system Swappable AI providers (Groq, OpenAI, Anthropic) Platform-specific optimization (tone, length, hashtags, CTAs) Modular design—duplicate sub-workflows to add new platforms in \~30 minutes Centralized Airtable tracking with 17 data points per post Set Up Steps Setup time: \~45-60 minutes for initial configuration Create accounts and get API keys (\~15 min) Wallabag (with RSS feeds enabled) GetLate (social media publishing) Airtable (create base with provided schema—see sticky notes) LLM provider (Groq, OpenAI, or Anthropic) Image service (Hugging Face, Fal.ai, or Stability AI) Imgbb (image hosting) Configure n8n credentials (\~10 min) Add all API keys in n8n's credential manager Detailed credential setup instructions in workflow sticky notes Set up Airtable database (\~10 min) Create "RSS Feed - Content Store" base Add 19 required fields (schema provided in workflow sticky notes) Get Airtable base ID and API key Customize brand prompts (\~15 min) Edit "Set Custom SMCG Prompt" node for each platform Define brand voice, tone, goals, audience, and image preferences Platform-specific examples provided in sticky notes Configure platform settings (\~10 min) Set GetLate account IDs for each platform Enable/disable image generation per platform Choose immediate publish vs. draft mode Adjust schedule trigger frequency Test and deploy Tag test articles in Wallabag Monitor the first few executions in draft mode Activate workflows when satisfied with the output Important: This is a proof-of-concept template. Test thoroughly with draft mode before production use. Detailed setup instructions, troubleshooting tips, and customization guidance are in the workflow's sticky notes. Technical Details 63 nodes: 9 Airtable operations, 8 HTTP requests, 7 code nodes, 3 LangChain LLM chains, 3 RSS triggers, 3 GetLate publishers Supports: Multiple LLM providers, multiple image generation services, unlimited platforms via modular architecture Tracking: 17 metadata fields per post, including publish status, applied parameters, character counts, hashtags, image URLs Prerequisites n8n instance (self-hosted or cloud) Accounts: Wallabag, GetLate, Airtable, LLM provider, image generation service, Imgbb Basic understanding of n8n workflows and credential configuration Time to customize prompts for your brand voice Detailed documentation, Airtable schema, prompt examples, and troubleshooting guides are in the workflow's sticky notes. Category Tags social-media-automation, ai-content-generation, rss-to-social, multi-platform-posting, getlate-api, airtable-database, langchain, workflow-automation, content-marketing