Register a source
Point at an RSS, Atom, or JSON Feed endpoint, set a cron schedule and outbound auth, and enable it. Managed sources serve everyone; user sources belong to one profile.
Bosca Feeds
Feeds pulls RSS, Atom, and JSON Feed sources into the platform on a schedule — deduplicated, normalized to rich text, and served back as each reader's Following and For-you feeds.
How it works
Point at an RSS, Atom, or JSON Feed endpoint, set a cron schedule and outbound auth, and enable it. Managed sources serve everyone; user sources belong to one profile.
Each fetch is a conditional GET — an unchanged feed answers 304 and no-ops. New entries become content records deduplicated by GUID; bodies are normalized to rich text with the original HTML preserved.
Readers subscribe to sources and get a chronological Following feed. The For-you feed is ranked by the Recommendations subsystem from the same ingested content.
What makes it powerful
Everything you expect from a feed reader's backend — formats, schedules, dedup — plus what you only get when ingested items are first-class platform content.
RSS 2.0, Atom, and JSON Feed 1.1 — with content:encoded, dc:creator, and media extensions read when present.
Every enabled source gets its own cron-scheduled fetch job; editing reschedules it, disabling removes it.
ETag and Last-Modified validators ride each request — an unchanged feed answers 304 Not Modified and the fetch no-ops.
Items dedupe by their external GUID: a known entry is updated in place, never duplicated, however often you re-fetch.
Raw HTML becomes the platform's rich-text document; the original source HTML is preserved as a supplementary attachment.
The most prominent image — media tags, enclosures, or the first image in the body — is imported and linked to the item.
Outbound auth for protected feeds — basic, bearer, or API key — with the secret stored write-only.
Items land as ordinary platform content, firing the standard lifecycle events Recommendations ranks the For-you feed from.
Content-native by design
Feeds doesn't build a parallel item store. Every ingested entry is a content record in the same model your documents and media use — so everything the platform does for content, it does for feed items.
Example Newsimage.featured → imported into storageforYou → ranked per readerGo deeper
The outside web, flowing into the same platform that stores, ranks, and serves your own content. The docs cover sources, ingestion, and serving end to end.