Guides

Connect RSS feeds the right way

Step-by-step: connect any feed, set polling cadence, route to platforms, configure AI variant generation, and gate everything with approval queues.

5 min read Beginner

Why RSS-to-post is the highest-leverage Mirgent setup

Most of Mirgent's repeat users credit RSS-to-post as the #1 hook, it converts 'I have a blog' into 'I have daily multi-platform content' with zero ongoing effort.

The pipeline: RSS feed publishes new item → Mirgent polls (hourly) → AI generates per-platform variants → drafts queue for your approval → approved drafts ship to selected platforms within 60 seconds.

Scheduling

1 RSS feed → 5-10 platform variants per item

Lead Discovery

Connect your blog or any source RSS

AI Agents

AI generates per-platform tone automatically

Analytics

Approval queue keeps you in the loop

Step 1: find your feed URL

Most blog platforms expose RSS by default at predictable URLs.

1

WordPress / Ghost / Substack

yourblog.com/rss or yourblog.com/feed. Substack: yourblog.substack.com/feed. Ghost: yourblog.com/rss. Verify by visiting the URL, should return XML, not HTML.

2

Medium / Hashnode / Dev.to

Medium: medium.com/feed/@yourname. Hashnode: yourblog.hashnode.dev/rss.xml. Dev.to: dev.to/feed/yourusername. All RSS by default.

3

Custom static sites

If your generator (Hugo, 11ty, Jekyll) doesn't auto-emit RSS, add a feed.xml template, most generators have one-line RSS plugins. Or use a hosted RSS generator like rssbridge.org.

Tip

Test your feed URL by viewing source. You should see tags with , <link>, <description>, and ideally <enclosure> for the featured image. If image URLs are missing, AI image generation can fill the gap.</p> </div> </section> <section class="guide-section" id="connect"> <h2 class="guide-section-title">Step 2: connect in Mirgent</h2> <p>30-second setup. Settings → Integrations → RSS Feeds → Add Feed.</p> <div class="guide-steps"> <div class="guide-step"> <div class="guide-step-num">1</div> <div class="guide-step-body"> <h4>Paste feed URL</h4> <p>Mirgent fetches the feed, validates the shape, and shows the most recent 10 items as preview. If validation fails, the URL is wrong or the feed is malformed, fix at the source.</p> </div> </div> <div class="guide-step"> <div class="guide-step-num">2</div> <div class="guide-step-body"> <h4>Set baseline (avoid backfill)</h4> <p>By default, Mirgent treats existing items as 'already seen' so connecting a feed doesn't blast 50 old posts. Only future items trigger the pipeline.</p> </div> </div> <div class="guide-step"> <div class="guide-step-num">3</div> <div class="guide-step-body"> <h4>Confirm and configure</h4> <p>Set cadence (1h default), target platforms, AI behavior, approval gate (default on). All can be tuned per-feed later.</p> </div> </div> </div> </section> <section class="guide-section" id="first-post"> <h2 class="guide-section-title">Step 3: cadence + platform routing</h2> <p>Configure when items become drafts and which platforms they target.</p> <div class="guide-steps"> <div class="guide-step"> <div class="guide-step-num">1</div> <div class="guide-step-body"> <h4>Polling interval</h4> <p>Free / Creator: hourly (60 min). Pro: 15-min. Agency: 5-min. Faster polling matters for time-sensitive feeds (news / launch announcements); blog feeds work fine on hourly.</p> </div> </div> <div class="guide-step"> <div class="guide-step-num">2</div> <div class="guide-step-body"> <h4>Posting cadence</h4> <p>Immediate: ship as soon as approved. Staggered: spread approved drafts across optimal hours over the day. Random: humanlike variability. Pick based on platform, Twitter prefers immediate, LinkedIn prefers staggered.</p> </div> </div> <div class="guide-step"> <div class="guide-step-num">3</div> <div class="guide-step-body"> <h4>Per-platform routing</h4> <p>Each feed maps to selected platforms. Common pattern: blog feed → Twitter + LinkedIn + Bluesky + Hashnode. Newsletter RSS → Twitter + Substack Notes. Configure once; runs forever.</p> </div> </div> </div> </section> <section class="guide-section" id="next-steps"> <h2 class="guide-section-title">Step 4: AI variant generation</h2> <p>AI converts each RSS item into platform-specific drafts. Configure tone, length, and style per platform.</p> <div class="guide-cards"> <div class="guide-card"> <div class="guide-card-icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75"><rect x="3" y="4" width="18" height="18" rx="2"/><line x1="16" y1="2" x2="16" y2="6"/><line x1="8" y1="2" x2="8" y2="6"/><line x1="3" y1="10" x2="21" y2="10"/></svg></div> <h4><a href="/guide/scheduling">Scheduling Guide</a></h4> <p>Calendar, kanban, and queue modes</p> </div> <div class="guide-card"> <div class="guide-card-icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75"><rect x="3" y="11" width="18" height="10" rx="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/></svg></div> <h4><a href="/guide/ai-agents">AI Agents Guide</a></h4> <p>Configure autonomous AI workflows</p> </div> <div class="guide-card"> <div class="guide-card-icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></div> <h4><a href="/guide/integrations">Integrations</a></h4> <p>Connect RSS feeds and platforms</p> </div> <div class="guide-card"> <div class="guide-card-icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75"><circle cx="11" cy="11" r="7"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg></div> <h4><a href="/guide/lead-discovery">Lead Discovery Guide</a></h4> <p>Find leads on Twitter and Reddit</p> </div> </div> </section> <!-- Common Pitfalls --> <section class="guide-section" id="pitfalls"> <h2 class="guide-section-title">RSS pitfalls to avoid</h2> <p>Common mistakes from new users.</p> <ul class="feature-bullets"> <li>Connecting a feed without setting baseline, Mirgent assumes you want all 50 old posts queued. Always confirm baseline at connection time.</li> <li>Auto-mode without trial period. Run with manual approval for the first 20 items to validate AI quality on your specific feed shape.</li> <li>Connecting too many feeds at once. Start with 1-2; observe quality and queue volume; expand later.</li> <li>Wrong platforms for the content type. News feeds work on Twitter / Bluesky; long-form blog works on LinkedIn / Substack. Match content to platform.</li> </ul> </section> <!-- Real-world setup walkthrough --> <section class="guide-section" id="walkthrough"> <h2 class="guide-section-title">RSS configuration recipes</h2> <p>Three configurations that work for specific operator profiles.</p> <ol class="feature-steps"> <li><h3>Solo blogger (1 feed, 5 platforms)</h3><p>Connect your blog feed. Target: Twitter, LinkedIn, Bluesky, Mastodon, Hashnode. Cadence: hourly polling, immediate posting per platform. AI variants: enabled. Approval: required.</p></li> <li><h3>B2B SaaS (own + competitor feeds)</h3><p>Connect your blog (auto-fan out) + 2-3 competitor blogs (AI generates response/commentary posts). Tone: 'helpful expert' for own; 'comparing approaches' for competitor.</p></li> <li><h3>Newsletter writer (Substack feed)</h3><p>Connect Substack feed. Target: Twitter (teaser thread), LinkedIn (long-form), Bluesky (concise summary). One newsletter → 3 platforms in 60 seconds of approval time.</p></li> <li><h3>{guide_rss_walk4_title}</h3><p>{guide_rss_walk4_desc}</p></li> <li><h3>{guide_rss_walk5_title}</h3><p>{guide_rss_walk5_desc}</p></li> </ol> </section> <!-- FAQ --> <section class="guide-section" id="faq"> <h2 class="guide-section-title">RSS Setup FAQ</h2> <div class="feature-faq"> <details><summary>What if my blog doesn't have RSS?</summary><p>Try yourblog.com/rss or yourblog.com/feed first. If neither, your platform may need an RSS plugin (Wordpress: built-in; Ghost: built-in; static generators: 1-line config). For sites you don't control, use a feed-generating service like Inoreader or RSS Bridge.</p></details> <details><summary>How do I avoid duplicate cross-syndicated content?</summary><p>Mirgent's deduplicator catches identical titles + URLs across feeds within 24 hours. If your blog auto-syndicates to Medium, both feeds will surface the same item but only one set of drafts generates.</p></details> <details><summary>Can I have one feed go to different platforms with different framing?</summary><p>Yes. Each platform target has its own AI variant settings (tone, length, hashtag style). Same RSS item generates a serious LinkedIn long-form and a casual Twitter teaser; you tune both.</p></details> <details><summary>What if a feed updates with corrections?</summary><p>Mirgent treats updates as 'no change' (same URL = same item). If a feed actually changes content under the same URL, those changes won't generate new drafts. Re-create the item or use webhook triggers for true update flows.</p></details> <details><summary>How much does RSS-to-post cost in AI?</summary><p>Per-item AI cost: $0.01-0.20 depending on model and platform count. Typical solo blog (1 post/week, 5 platforms, Claude Haiku): ~$0.05/week or $2-3/month total.</p></details> <details><summary>{guide_rss_faq6_q}</summary><p>{guide_rss_faq6_a}</p></details> </div> </section> <!-- Next/Prev nav --> <nav class="guide-nav"> <span></span> <a href="/guide/scheduling" class="guide-nav-link next"> <span class="guide-nav-label">Next</span> <span class="guide-nav-title">Scheduling Guide</span> </a> </nav></main></div></div> <!-- Main Footer --><footer id="footer-main" class="footer-main"><div class="footer-container"><div class="footer-content"><!-- Brand Column --><div class="footer-brand"><div class="brand-logo"> <svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" viewBox="0 0 32 32" fill="none"> <rect width="32" height="32" rx="7" fill="#0f172a"/> <text x="16" y="23" font-family="Arial Black, Arial, sans-serif" font-size="20" font-weight="900" text-anchor="middle" fill="white">M</text> </svg> <span class="brand-name">Mirgent</span></div><p class="brand-tagline">Human-supervised social automation</p><div class="brand-contact"> <a href="mailto:dev.emirbaycan@gmail.com" class="brand-contact-link"> <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="4" width="20" height="16" rx="2"/><path d="m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"/></svg> <span>dev.emirbaycan@gmail.com</span> </a></div><div class="brand-socials"> <a href="https://instagram.com/mirgent" target="_blank" rel="noopener noreferrer" class="brand-social-icon" aria-label="Instagram"> <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z"/></svg> </a> <a href="https://twitter.com/mirgent" target="_blank" rel="noopener noreferrer" class="brand-social-icon" aria-label="X (Twitter)"> <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg> </a> <a href="https://facebook.com/mirgent" target="_blank" rel="noopener noreferrer" class="brand-social-icon" aria-label="Facebook"> <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/></svg> </a></div></div><!-- Product Links --><div class="link-column"><h4 class="column-title">Product</h4><ul class="column-links"> <li><a href="/home">Home</a></li> <li><a href="/feature/scheduling">Scheduling</a></li> <li><a href="/feature/analytics">Analytics</a></li> <li><a href="/feature/platforms">Platforms</a></li> <li><a href="/feature/ai-agents">AI Content</a></li> <li><a href="/login">Get Started</a></li></ul></div><!-- Resources Links --><div class="link-column"><h4 class="column-title">Resources</h4><ul class="column-links"> <li><a href="/services">Services</a></li> <li><a href="/pricing">Pricing</a></li> <li><a href="/blog">Blog</a></li> <li><a href="/faq">FAQ</a></li> <li><a href="/about">About Us</a></li> <li><a href="/contact">Contact</a></li></ul></div><!-- Legal Links --><div class="link-column"><h4 class="column-title">Legal</h4><ul class="column-links"> <li><a href="/policies">Privacy Policy</a></li> <li><a href="/policies">Terms of Service</a></li> <li><a href="/policies">Cookie Policy</a></li> <li><a href="/policies">GDPR</a></li></ul></div></div><!-- Footer Bottom Bar --><div class="footer-bottom-bar"><p class="footer-copyright">2024 Mirgent. All rights reserved.</p><div class="footer-certs"><span class="footer-cert">SSL Secure</span><span class="footer-cert">GDPR Compliant</span></div><button class="back-to-top" onclick="window.scrollTo({top:0,behavior:'smooth'})" aria-label="Back to top"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="18 15 12 9 6 15"/></svg> Back to top </button></div></div></footer><script src="/js/main/general/cookie-consent.js?_t=mcccniriybniiymac" charset="UTF-8" ></script><script src="/js/main/general/footer.js?_t=mcccniriybnceinc" charset="UTF-8" ></script><script src="/js/main/general/header.js?_t=mcccniriyaeecmmin" charset="UTF-8" ></script></body></html>