Create a feed
name is required; the slug defaults to a slugified name and must be unique per workspace (409 otherwise). The 201 response includes the two URLs that matter:
feedUrl—…/api/feeds/{workspaceSlug}/{feedSlug}/rss, the RSS 2.0 XML any reader or podcast app consumeswebViewUrl—…/feed/{workspaceSlug}/{feedSlug}, a hosted HTML view of the same feed
Update and delete
Feeds use the generic integration endpoints:PATCH /integrations/{integrationId} (name, description, imageUrl — empty string clears the image) and DELETE /integrations/{integrationId}. Deleting warns if automations still target the feed, and a workspace can never delete its last active integration (400).
Targeting a feed from tasks and automations
Feeds are addressed inoutputTypes as rss:{feedSlug} (podcasts: podcast:{feedSlug}); the default slug is general. A task that outputs both an article and a social post can reference the article’s published URL in the social copy with the {articleUrl} token — see Worker mode.
Public feed routes
| Route | Returns |
|---|---|
GET /api/feeds/{wsSlug}/{feedSlug}/rss | RSS 2.0 XML, latest 50 items, cached 5 minutes |
GET /feed/{wsSlug}/{feedSlug} | HTML feed page |
GET /feed/{wsSlug}/{feedSlug}/{itemId} | HTML article page |