with RSS and Airweave?
Create a new Airweave collection. Collections are logical groups of data sources that provide unified search capabilities. The newly created collection is initially empty until you add source connections to it. See the documentation
Retrieve multiple RSS feeds and return a merged array of items sorted by date See documentation
Delete a collection and all associated data. This permanently removes the collection including all synced data and source connections. This action cannot be undone. See the documentation
Retrieve details of a specific collection by its readable ID. See the documentation
List all available data source connectors. These are the types of integrations Airweave can connect to (e.g., GitHub, Slack, Google Drive, PostgreSQL, etc.). See the documentation
The RSS app allows users to automatically fetch and parse updates from web feeds. This functionality is pivotal for staying abreast of content changes or updates from websites, blogs, and news outlets that offer RSS feeds. With Pipedream, you can harness the RSS API to trigger workflows that enable a broad range of automations, like content aggregation, monitoring for specific keywords, notifications, and data synchronization across platforms.
module.exports = defineComponent({
props: {
rss: {
type: "app",
app: "rss",
}
},
async run({steps, $}) {
// Retrieve items from a sample feed
const Parser = require('rss-parser');
const parser = new Parser();
const stories = []
// Replace with your feed URL
const url = "https://pipedream.com/community/latest.rss"
const feed = await parser.parseURL(url);
const { title, items } = feed
this.title = title
if (!items.length) {
$end("No new stories")
}
this.items = items
},
})
import { AirweaveSDKClient } from "@airweave/sdk";
export default defineComponent({
props: {
airweave: {
type: "app",
app: "airweave",
}
},
async run({steps, $}) {
const client = new AirweaveSDKClient({
apiKey: this.airweave.$auth.api_key,
base_url: this.airweave.$auth.base_url
});
return await client.collections.list({
skip: 1,
limit: 1
});
},
})