Slack's Feed Command is Secretly Broken
Slack’s /feed command is really useful; it allows you to subscribe to an XML feed and receive updates in any channel.
However, it doesn’t always work as expected, and when it fails, there’s no way to find out why.
Recently, I added an Atom feed to an announcement channel, but the posts weren’t coming through. I initially thought the /feed functionality might be incompatible with announcement channels, but I was wrong.
After contacting support, they told me:
We only recognise the following tags for date values: <pubDate>, <issued>, <modified>, <updated>, <dc:date>, or <published> (this last date type applies to Atom feeds) and the date tag fields must be within an <item> tag to be read
Great, I thought. Since I controlled the Atom feed, I figured I could just wrap every entry in an <item> tag. However, the Atom standard expects items to be wrapped in <entry> instead. The spec says feeds should be like:
<feed>
<entry>
<title>Post Title</title>
<published>2025-01-24T10:00:00Z</published>
</entry>
</feed>
Essentially, Slack’s requirements and the Atom spec are incompatible.
In the end, since I was able to rewrite the feed, I simply switched it to RSS to get everything working.