A Flatfile plugin for importing RSS feed data
npm i @flatfile/plugin-import-rss
The @flatfile/plugin-import-rss
plugin automates the process of importing RSS feed data into Flatfile Sheets. It listens for and responds to job:ready events with the specified operation type, fetching RSS feed content and populating Flatfile sheets with the retrieved data. This plugin supports multiple RSS feeds and provides flexible configuration options.
Event Type:
job:ready
Supported RSS feed items: title, link, pubDate, content, guid
When embedding Flatfile, this plugin should be deployed in a server-side listener. Learn more
The @flatfile/plugin-import-rss
plugin allows you to easily import RSS feed data into your Flatfile Sheets. It automates the process of fetching RSS content and populating Flatfile Sheets with the retrieved data.
The rssImport
function accepts a configuration object with the following properties:
operation
(string): The operation name to listen for in the job:ready event.feeds
(array): An array of feed configurations, each containing:
sheetSlug
(string): The slug of the sheet to import RSS data into.rssFeedUrl
(string): The URL of the RSS feed to import data from.To install the plugin, run the following command:
npm install @flatfile/plugin-import-rss
import { rssImport } from "@flatfile/plugin-import-rss";
export default function (listener) {
listener.use(
rssImport({
operation: "importRSSFeed",
feeds: [
{
sheetSlug: "rss_feed_data",
rssFeedUrl: "https://example.com/rss-feed"
}
]
})
);
}
import { FlatfileListener } from '@flatfile/listener';
import { rssImport } from "@flatfile/plugin-import-rss";
export default function (listener: FlatfileListener) {
listener.use(
rssImport({
operation: "importRSSFeed",
feeds: [
{
sheetSlug: "rss_feed_data",
rssFeedUrl: "https://example.com/rss-feed"
}
]
})
);
}
Here's an example of how to use the plugin with multiple RSS feeds:
import type { FlatfileListener } from '@flatfile/listener';
import { rssImport } from "@flatfile/plugin-import-rss";
export default function (listener: FlatfileListener) {
listener.use(
rssImport({
operation: "importRSSFeed",
feeds: [
{
sheetSlug: "tech_news",
rssFeedUrl: "https://techcrunch.com/feed/"
},
{
sheetSlug: "world_news",
rssFeedUrl: "https://rss.nytimes.com/services/xml/rss/nyt/World.xml"
}
]
})
);
}
The plugin uses the following Flatfile API calls:
api.sheets.get
api.jobs.ack
api.jobs.complete
api.jobs.fail
api.records.insert
Contributions to this plugin are welcome! Please follow these steps:
Please ensure your code adheres to the existing style and includes appropriate tests.