Emelyn

Navigation

Turn a new feed item into a campaign worth reviewing.

Watch a publication feed, ignore repeats and ineligible items, keep the original source attached, and draft a different angle for every channel.

RSS feed intake showing a fetched item, GUID and canonical duplicate checks, review state, conditional fetch results, parse error, and campaign action

Decide what counts as new before the feed starts moving.

RSS is public reading, not permission to publish anything you find. Connect a feed you own or are allowed to use, choose eligible categories, and send the first items to review.

Use the canonical feed

Prefer the publication’s own RSS or Atom URL. Avoid scraped copies and redirect chains.

Save two identities

Use the item GUID first and a normalized canonical URL as a second duplicate check.

Start at 15 minutes

Respect feed TTL and server responses. Faster polling rarely makes the campaign better.

Filter before creating. Review before publishing.

Paste this setup into the RSS connection, replace the feed URL, and tune the categories. It creates a reviewable campaign; it does not auto-post the feed title.

Expected output

One source record, several channel-specific drafts, and a saved item identity for later checks.

{
  "feed_url": "https://example.com/news/feed.xml",
  "poll_every_minutes": 15,
  "include_categories": ["product", "customer stories"],
  "exclude_title_contains": ["sponsored"],
  "dedupe_by": ["guid", "canonical_url"],
  "on_new_item": "create_campaign_for_review"
}

Connection recipe revision 1.0 · RSS 2.0 and Atom 1.0 intake · Last tested 29 August 2026.

Keep the source intact. Change the shape for each channel.

A feed item gives Emelyn evidence and a destination link. It is not a ready-made social post.

Example item

<item>
  <guid isPermaLink="false">release-2026-08-29</guid>
  <title>A smaller release with a useful lesson</title>
  <link>https://example.com/blog/smaller-release</link>
  <pubDate>Sat, 29 Aug 2026 09:30:00 GMT</pubDate>
  <description>What changed, who it helps, and why.</description>
  <enclosure url="https://example.com/release.png" type="image/png" />
</item>
Feed fieldEmelyn fieldWhy it matters
guid or atom:idsource_item_idStops the same item being used twice
linksource_urlKeeps the original page attached
titlesource_titleStarting context, not the final caption
description or contentsource_textEvidence for angles and claims
pubDate or updatedsource_published_atOrders fresh items
enclosure or media:contentsource_mediaOptional image or audio reference

An empty response is not always an empty feed.

The delivery log keeps fetch behavior separate from content decisions, so a rate limit cannot silently erase a source.

200 · parse and compare

Read the feed, compare saved IDs, and create only unseen eligible items.

304 · no change

Keep the existing checkpoint. Do not parse or create anything.

429 · retry later

Honor Retry-After when present, then back off. Never treat the body as the new feed.

Invalid XML · pause

Keep the last good checkpoint and show the parse error. Never guess missing fields.

Network limitOne active fetch per feed. Redirects, timeouts, and oversized documents stop safely.

Content limitHTML is sanitized. Attachments are references until a person confirms usage rights.

Credential limitPublic feeds need no secret. Private feed credentials are encrypted and never placed in logs or campaign copy.

Built around the messy parts feed directories skip.

Practitioners ask for keyword filters, reliable duplicate control, and clear rate-limit handling. The setup follows the RSS and HTTP contracts and keeps source rights as a human decision.

Let the feed announce what is new. Let your judgment decide what to say.

Connect an RSS feed