Instagram + Telegram, trend based posts published for you
Keeping up with Instagram trends is exhausting because the “research” part never ends. You find a great post, you save it somewhere, you try to recreate the vibe, then you lose 30 minutes rewriting captions and hunting hashtags. Again.
Instagram post automation hits marketing managers first, honestly. But solo founders and agency teams feel it too when content has to ship daily. This workflow turns trend-hunting into a repeatable pipeline that can produce and publish posts while you focus on approvals and strategy.
Below, you’ll see exactly how the workflow discovers trending posts, generates original content, publishes to Instagram, and confirms the result in Telegram (with Google Sheets tracking so nothing gets lost).
How This Automation Works
The full n8n workflow, from trigger to final output:
n8n Workflow Template: Instagram + Telegram, trend based posts published for you
flowchart LR
subgraph sg0["Schedule Flow"]
direction LR
n0@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If media status is finished", pos: "b", h: 48 }
n1@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If media status is finished1", pos: "b", h: 48 }
n2["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg' width='40' height='40' /></div><br/>Telegram"]
n3["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg' width='40' height='40' /></div><br/>Telegram1"]
n4["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg' width='40' height='40' /></div><br/>Telegram2"]
n5@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Items", pos: "b", h: 48 }
n6@{ icon: "mdi:play-circle", form: "rounded", label: "Schedule Trigger1", pos: "b", h: 48 }
n7@{ icon: "mdi:swap-vertical", form: "rounded", label: "Telegram Params", pos: "b", h: 48 }
n8@{ icon: "mdi:swap-vertical", form: "rounded", label: "Instagram params", pos: "b", h: 48 }
n9@{ icon: "mdi:swap-vertical", form: "rounded", label: "Rapid Api params", pos: "b", h: 48 }
n10["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>filter the image content"]
n11["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>get top trends on instagram.."]
n12["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>get top trends on instagram .."]
n13["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/merge.svg' width='40' height='40' /></div><br/>merge the array content"]
n14["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/postgres.svg' width='40' height='40' /></div><br/>Check Data on Database Is Ex.."]
n15@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If Data is Exist", pos: "b", h: 48 }
n16["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg' width='40' height='40' /></div><br/>send error message to telegram"]
n17["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/postgres.svg' width='40' height='40' /></div><br/>insert data on db"]
n18@{ icon: "mdi:robot", form: "rounded", label: "Analyze Image and give the c..", pos: "b", h: 48 }
n19@{ icon: "mdi:robot", form: "rounded", label: "Analyze Content And Generate..", pos: "b", h: 48 }
n20["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/facebook.svg' width='40' height='40' /></div><br/>Prepare data on Instagram"]
n21["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/facebook.svg' width='40' height='40' /></div><br/>Check Status Of Media Before.."]
n22["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/facebook.svg' width='40' height='40' /></div><br/>Publish Media on Instagram"]
n23["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/facebook.svg' width='40' height='40' /></div><br/>Check status of post "]
n24["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>filter the image content-2"]
n25@{ icon: "mdi:swap-vertical", form: "rounded", label: "Replicate params", pos: "b", h: 48 }
n26["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Generate image on flux"]
n5 --> n14
n7 --> n9
n15 --> n5
n15 --> n17
n8 --> n7
n9 --> n12
n9 --> n11
n25 --> n8
n6 --> n25
n17 --> n18
n23 --> n1
n26 --> n20
n13 --> n5
n10 --> n13
n20 --> n21
n22 --> n23
n24 --> n13
n0 --> n22
n0 --> n2
n1 --> n3
n1 --> n4
n14 --> n15
n14 --> n16
n18 --> n19
n21 --> n0
n12 --> n10
n11 --> n24
n19 --> n26
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n6 trigger
class n18,n19 ai
class n0,n1,n15 decision
class n14,n17 database
class n11,n12,n20,n21,n22,n23,n26 api
class n10,n24 code
classDef customIcon fill:none,stroke:none
class n2,n3,n4,n10,n11,n12,n13,n14,n16,n17,n20,n21,n22,n23,n24,n26 customIcon
The Problem: Trend Research Eats Your Posting Time
Trends move fast on Instagram, but your time doesn’t magically expand to match them. The real time sink is the messy middle: searching hashtags, opening 20 posts, saving references, checking what you already used, then trying to recreate the “why this worked” with a fresh image and caption. And when you finally publish, you still need to log it somewhere, confirm it went live, and remind yourself not to accidentally repeat the same concept next week. That mental load is a productivity tax you pay every day.
It adds up fast. Here’s where it usually breaks down in real teams.
- Hashtag research turns into a browser-tab graveyard, and you still end up guessing which posts are actually trending.
- It’s easy to repost the same concept twice because there’s no clean system to filter duplicates.
- Manually recreating visuals and captions slows you down, so you post less or settle for “good enough.”
- Publishing is only half the job, because you also need proof it posted and a place to track what shipped.
The Solution: Trending Posts In, Original Content Out (Auto-Published)
This workflow runs in n8n on a schedule and pulls trending Instagram posts from specific hashtags using HTTP requests. It analyzes what’s working (visual style and content patterns), then filters out videos and removes duplicates so you’re not copying noise. Next, it uses AI to generate a brand-safe, original image inspired by the trend, plus a caption and hashtag set that fits your voice. Finally, it publishes directly to Instagram, logs the idea and output to Google Sheets, and sends a Telegram confirmation so you know what went live without checking the app.
The workflow starts with trend discovery and cleanup. Then AI generates the creative (image + caption) based on what it found. Publishing happens automatically, and you get a Telegram message when the post is successfully live.
What You Get: Automation vs. Results
| What This Workflow Automates | Results You’ll Get |
|---|---|
|
|
Example: What This Looks Like
Say you publish 5 Instagram posts a week. Manually, you might spend about 30 minutes finding trend references, 20 minutes drafting a caption and hashtags, and another 10 minutes publishing and logging it. Call it about 1 hour per post, or roughly 5 hours a week. With this workflow, you spend maybe 10 minutes reviewing what it generated and approving the direction, then wait for processing and auto-publishing to finish. That’s around 4 hours back each week, without sacrificing the “trend-aware” part.
What You’ll Need
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Instagram Business Account for publishing via API.
- Telegram Bot to send posting confirmations.
- Google Sheets to track ideas, outputs, and status.
- PostgreSQL database to store records and prevent duplicates.
- OpenAI API key (get it from your OpenAI dashboard).
- Replicate API key (get it from your Replicate account settings).
- RapidAPI key (get it from your RapidAPI developer dashboard).
Skill level: Intermediate. You’ll connect accounts, paste API keys, and tweak a few prompts and sheet columns.
Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).
How It Works
Scheduled content discovery. The workflow kicks off on a timer in n8n, then uses HTTP requests to scrape trending posts for the hashtags you care about.
Filtering and cleanup. It checks each item and skips videos, then merges and compares records so duplicates don’t keep cycling back into your queue.
AI generation for visuals and copy. The workflow analyzes the trend, then generates a new image and writes a caption with relevant hashtags while aiming to keep your brand consistent and still original.
Publishing and confirmation. Once content is ready, it posts to Instagram, writes the final details to Google Sheets (and your database), then pings you in Telegram with the publish status.
You can easily modify the target hashtags to match your niche and adjust the caption style based on your needs. See the full implementation guide below for customization options.
Common Gotchas
- Instagram credentials can expire or require the right Business permissions. If publishing fails, check your Meta app settings and token status first.
- If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
- Default prompts in AI nodes are generic. Add your brand voice early or you’ll be editing outputs forever.
Frequently Asked Questions
About 20 minutes if your accounts and keys are ready.
No. You’ll mostly connect accounts, add API keys, and tweak prompts.
Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in OpenAI and image generation API usage costs, which vary with volume.
Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.
Yes, and you should. Swap the tracked hashtags in the HTTP Request scraping portion, then adjust the AI prompt text so it uses your tone, offers, and “do not say” list. Common customizations include changing the hashtag set rules, forcing a caption structure (hook, value, CTA), and writing outputs into different Google Sheets columns for approvals.
Usually it’s an expired token or missing Business permissions in Meta. Regenerate or re-authorize your Instagram/Meta credentials in n8n, then confirm the connected account is a Business account with publishing access. If it fails only when volume spikes, you may be hitting rate limits from the scraping source or the publishing API, so slow the schedule down a bit and retry.
On n8n Cloud, it depends on your monthly executions and how often you run the schedule. If you self-host, there’s no execution cap (your server becomes the limit), and most small teams comfortably run daily trend checks plus a few posts per day.
Often, yes, because this isn’t just “move data from A to B.” You’re scraping, filtering, deduping, generating creative, and then publishing, which means you want branching logic and tighter control over the workflow. n8n handles that without forcing you into expensive multi-step task pricing, and you can self-host when volume grows. Zapier or Make can still be fine for simpler “draft to approval” flows, especially if you don’t need custom filtering. If you’re on the fence, Talk to an automation expert and get a quick recommendation.
This workflow keeps the trend engine running, then tells you when it shipped. Set it up once, tune the prompts, and move on to the work that actually needs you.
Need Help Setting This Up?
Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.