← RSS + Browserless integrations

Take a Screenshot with Browserless API on New Item From Multiple RSS Feeds from RSS API

Pipedream makes it easy to connect APIs for Browserless, RSS and 1000+ other apps remarkably fast.

Trigger workflow on
New Item From Multiple RSS Feeds from the RSS API
Next, do this
Take a Screenshot with the Browserless API
No credit card required
Into to Pipedream
Watch us build a workflow
Watch us build a workflow
7 min
Watch now ➜
Trusted by 250,000+ developers from startups to Fortune 500 companies:
Trusted by 250,000+ developers from startups to Fortune 500 companies

Developers Pipedream

Getting Started

This integration creates a workflow with a RSS trigger and Browserless action. When you configure and deploy the workflow, it will run on Pipedream's servers 24x7 for free.

  1. Select this integration
  2. Configure the New Item From Multiple RSS Feeds trigger
    1. Connect your RSS account
    2. Configure timer
    3. Configure Feed URLs
    4. Optional- Configure Max per Feed
  3. Configure the Take a Screenshot action
    1. Connect your Browserless account
    2. Configure URL
  4. Deploy the workflow
  5. Send a test event to validate your setup
  6. Turn on the trigger

Details

This integration uses pre-built, open source components from Pipedream's GitHub repo. These components are developed by Pipedream and the community, and verified and maintained by Pipedream.

To contribute an update to an existing component or create a new component, create a PR on GitHub. If you're new to Pipedream component development, you can start with quickstarts for trigger span and action development, and then review the component API reference.

Trigger

Description:Emit new items from multiple RSS feeds
Version:1.0.6
Key:rss-new-item-from-multiple-feeds

Trigger Code

import rss from "../../app/rss.app.mjs";
import { defineSource } from "@pipedream/types";
import rssCommon from "../common/common.mjs";
export default defineSource({
    ...rssCommon,
    key: "rss-new-item-from-multiple-feeds",
    name: "New Item From Multiple RSS Feeds",
    type: "source",
    description: "Emit new items from multiple RSS feeds",
    version: "1.0.6",
    props: {
        ...rssCommon.props,
        urls: {
            propDefinition: [
                rss,
                "urls",
            ],
            description: "Enter one or multiple URLs from any public RSS feed. To avoid timeouts, 5 or less URLs is recommended.",
        },
        max: {
            type: "integer",
            label: "Max per Feed",
            description: "Maximum number of posts per feed to retrieve at one time. Defaults to 20.",
            optional: true,
            default: 20,
        },
    },
    dedupe: "unique",
    hooks: {
        async activate() {
            // Try to parse the feed one time to confirm we can fetch and parse.
            // The code will throw any errors to the user.
            for (const url of this.urls) {
                await this.rss.fetchAndParseFeed(url);
            }
        },
    },
    async run() {
        const items = [];
        for (const url of this.urls) {
            const feedItems = (await this.rss.fetchAndParseFeed(url))?.slice(0, this.max);
            console.log(`Retrieved items from ${url}`);
            items.push(...feedItems);
        }
        this.rss.sortItems(items).forEach((item) => {
            const meta = this.generateMeta(item);
            this.$emit(item, meta);
        });
    },
});

Trigger Configuration

This component may be configured based on the props defined in the component code. Pipedream automatically prompts for input values in the UI and CLI.
LabelPropTypeDescription
RSSrssappThis component uses the RSS app.
timer$.interface.timer

How often you want to poll the feed for new items

Feed URLsurlsstring[]

Enter one or multiple URLs from any public RSS feed. To avoid timeouts, 5 or less URLs is recommended.

Max per Feedmaxinteger

Maximum number of posts per feed to retrieve at one time. Defaults to 20.

Trigger Authentication

The RSS API does not require authentication.

About RSS

Real Simple Syndication

Action

Description:
Version:0.5.1
Key:browserless-take-screenshot

Browserless Overview

Browserless allows you to build websites and applications that can be used
without a web browser. This means that you can create apps that can be used
offline, or that can be used on devices that don't have a web browser
installed.

Some examples of things that you can build using Browserless are:

  • A website that can be used without a web browser
  • An app that can be used offline
  • A app that can be used on devices that don't have a web browser installed

Action Code

// legacy_hash_id: a_oViVKv
import puppeteer from "puppeteer-core";

export default {
  key: "browserless-take-screenshot",
  name: "Take a Screenshot",
  version: "0.5.1",
  type: "action",
  props: {
    browserless: {
      type: "app",
      app: "browserless",
    },
    url: {
      type: "string",
      label: "URL",
      description: "Enter the URL you'd like to take a screenshot of here",
    },
  },
  async run({ $ }) {
    const browser = await puppeteer.connect({
      browserWSEndpoint: `wss://chrome.browserless.io?token=${this.browserless.$auth.api_key}`,
    });
    const page = await browser.newPage();

    const { url } = this;
    await page.goto(url);
    const screenshot = await page.screenshot();

    // export the base64-encoded screenshot for use in future steps,
    // along with the image type and filename
    $.export("screenshot", Buffer.from(screenshot, "binary").toString("base64"));
    $.export("type", "png");
    $.export(
      "filename",
      `${url.replace(/[&\/\\#, +()$~%.'":*?<>{}]/g, "_")}-${+new Date()}.${this.type}`,
    );

    await browser.close();
  },
};

Action Configuration

This component may be configured based on the props defined in the component code. Pipedream automatically prompts for input values in the UI.

LabelPropTypeDescription
BrowserlessbrowserlessappThis component uses the Browserless app.
URLurlstring

Enter the URL you'd like to take a screenshot of here

Action Authentication

Browserless uses API keys for authentication. When you connect your Browserless account, Pipedream securely stores the keys so you can easily authenticate to Browserless APIs in both code and no-code steps.

Sign-up for a browserless account, it will create a unique token that allows service interaction.

About Browserless

Powerful browser automation built for developers

More Ways to Connect Browserless + RSS

Take a Screenshot with Browserless API on New Item in Feed from RSS API
RSS + Browserless
 
Try it
Generate PDF from HTML String with Browserless API on New Item in Feed from RSS API
RSS + Browserless
 
Try it
Generate PDF from HTML String with Browserless API on New item from multiple RSS feeds from RSS API
RSS + Browserless
 
Try it
Take a Screenshot with Browserless API on Random item from multiple RSS feeds from RSS API
RSS + Browserless
 
Try it
Generate PDF from HTML String with Browserless API on Random item from multiple RSS feeds from RSS API
RSS + Browserless
 
Try it
New Item in Feed from the RSS API

Emit new items from an RSS feed

 
Try it
New Item From Multiple RSS Feeds from the RSS API

Emit new items from multiple RSS feeds

 
Try it
Random item from multiple RSS feeds from the RSS API

Emit a random item from multiple RSS feeds

 
Try it
Merge RSS Feeds with the RSS API

Retrieve multiple RSS feeds and return a merged array of items sorted by date See docs

 
Try it
Generate PDF from HTML String with the Browserless API
 
Try it
Take a Screenshot with the Browserless API
 
Try it