← HTTP / Webhook + RSS integrations

Merge RSS Feeds with RSS API on New event when the content of the URL changes. from HTTP / Webhook API

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

Trigger workflow on
New event when the content of the URL changes. from the HTTP / Webhook API
Next, do this
Merge RSS Feeds with the RSS API
No credit card required
Into to Pipedream
Watch us build a workflow
Watch us build a workflow
7 min
Watch now ➜

Trusted by 500,000+ developers from startups to Fortune 500 companies

Adyen logo
Brex logo
Carta logo
Checkr logo
Chameleon logo
DevRev logo
LinkedIn logo
Netflix logo
New Relic logo
OnDeck logo
Replicated logo
Scale AI logo
Teamwork logo
Warner Bros. logo
Xendit logo

Developers Pipedream

Getting Started

This integration creates a workflow with a HTTP / Webhook trigger and RSS 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 event when the content of the URL changes. trigger
    1. Connect your HTTP / Webhook account
    2. Configure Watching timer
    3. Configure HTTP Request Configuration
    4. Configure Emit body only
    5. Configure Emit as array
  3. Configure the Merge RSS Feeds action
    1. Connect your RSS account
    2. Configure Feed URLs
  4. Deploy the workflow
  5. Send a test event to validate your setup
  6. Turn on the trigger

Details

This integration uses pre-built, source-available 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 event when the content of the URL changes.
Version:0.0.2
Key:http-watch-url

Trigger Code

import http from "../../http.app.mjs";
import hash from "object-hash";
import { DEFAULT_POLLING_SOURCE_TIMER_INTERVAL } from "@pipedream/platform";

export default {
  key: "http-watch-url",
  name: "New event when the content of the URL changes.",
  description: "Emit new event when the content of the URL changes.",
  version: "0.0.2",
  type: "source",
  dedupe: "unique",
  props: {
    http,
    timer: {
      type: "$.interface.timer",
      label: "Watching timer",
      description: "How often to watch the URL.",
      default: {
        intervalSeconds: DEFAULT_POLLING_SOURCE_TIMER_INTERVAL,
      },
    },
    httpRequest: {
      type: "http_request",
      label: "HTTP Request Configuration",
      description: "HTTP Request Configuration",
      default: {
        method: "GET",
      },
    },
    emitBodyOnly: {
      label: "Emit body only",
      description: "If set as true the emitted item will contain only the response body, otherwise, it will include the request status code.",
      type: "boolean",
      default: true,
    },
    emitAsArray: {
      label: "Emit as array",
      description: "If the request responds with an array, this source will emit changes individually for each item of the array.",
      type: "boolean",
      default: false,
    },
  },
  methods: {
    getMeta(data, status) {
      if (this.emitBodyOnly) {
        return data;
      }
      return {
        data,
        status,
      };
    },
    emitArray(event, response) {
      if (!Array.isArray(response.data)) {
        return this.emitAny(event, response);
      }
      for (const item of response.data) {
        const meta = this.getMeta(item, response.status);
        this.emit(event, meta);
      }
    },
    emitAny(event, response) {
      const meta = this.getMeta(response.data, response.status);
      this.emit(event, meta);
    },
    emit(event, meta) {
      const ts = event.timestamp || Math.round(Date.now() / 1000);
      this.$emit(meta, {
        id: hash(meta),
        summary: `Requested at ${ts}`,
        ts,
      });
    },
  },
  async run(event) {
    const response = await this.httpRequest.execute();
    if (this.emitAsArray) {
      this.emitArray(event, response);
    } else {
      this.emitAny(event, response);
    }
  },
};

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
HTTP / WebhookhttpappThis component uses the HTTP / Webhook app.
Watching timertimer$.interface.timer

How often to watch the URL.

HTTP Request ConfigurationhttpRequesthttp_request

HTTP Request Configuration

Emit body onlyemitBodyOnlyboolean

If set as true the emitted item will contain only the response body, otherwise, it will include the request status code.

Emit as arrayemitAsArrayboolean

If the request responds with an array, this source will emit changes individually for each item of the array.

Trigger Authentication

The HTTP / Webhook API does not require authentication.

About HTTP / Webhook

Get a unique URL where you can send HTTP or webhook requests

Action

Description:Retrieve multiple RSS feeds and return a merged array of items sorted by date [See docs](https://www.rssboard.org/rss-specification)
Version:1.1.1
Key:rss-merge-rss-feeds

RSS Overview

With the RSS API you have the power to create powerful tools and applications.
RSS is a great way to reliably subscribe to, track and build around your
favorite content sources. Here are some examples of things you can create
using the RSS API:

  • A personal news website to syndicate articles from multiple sources.
  • A custom feed reader to deliver timely notifications of updates and news.
  • A live editorial dashboard to track news, trends and public sentiment.
  • An automated “report bot” to aggregate and report on news topics.
  • A competitor tracking tool to stay on top of industry news.
  • A custom RSS-based search engine or RSS-supported deep learning engine.
  • A live events feed to notify users and followers of new developments.

Action Code

import rss from "../../app/rss.app.mjs";
import { defineAction } from "@pipedream/types";
export default defineAction({
    name: "Merge RSS Feeds",
    description: "Retrieve multiple RSS feeds and return a merged array of items sorted by date [See docs](https://www.rssboard.org/rss-specification)",
    key: "rss-merge-rss-feeds",
    version: "1.1.1",
    type: "action",
    props: {
        rss,
        urls: {
            propDefinition: [
                rss,
                "urls",
            ],
        },
    },
    async run({ $ }) {
        const items = [];
        for (const url of this.urls) {
            const feedItems = await this.rss.fetchAndParseFeed(url);
            items.push(...feedItems);
        }
        $.export("$summary", "Successfully merged feeds");
        return this.rss.sortItemsForActions(items);
    },
});

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
RSSrssappThis component uses the RSS app.
Feed URLsurlsstring[]

Enter either one or multiple URLs from any public RSS feed

Action Authentication

The RSS API does not require authentication.

About RSS

Real Simple Syndication

More Ways to Connect RSS + HTTP / Webhook

Merge RSS Feeds with RSS API on New Requests from HTTP / Webhook API
HTTP / Webhook + RSS
 
Try it
Merge RSS Feeds with RSS API on New Requests (Payload Only) from HTTP / Webhook API
HTTP / Webhook + RSS
 
Try it
Custom Request with HTTP / Webhook API on New Item in Feed from RSS API
RSS + HTTP / Webhook
 
Try it
GET Request with HTTP / Webhook API on New Item in Feed from RSS API
RSS + HTTP / Webhook
 
Try it
POST Request with HTTP / Webhook API on New Item in Feed from RSS API
RSS + HTTP / Webhook
 
Try it
New Requests from the HTTP / Webhook API

Get a URL and emit the full HTTP event on every request (including headers and query parameters). You can also configure the HTTP response code, body, and more.

 
Try it
New Requests (Payload Only) from the HTTP / Webhook API

Get a URL and emit the HTTP body as an event on every request

 
Try it
New event when the content of the URL changes. from the HTTP / Webhook API

Emit new event when the content of the URL changes.

 
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
Send any HTTP Request with the HTTP / Webhook API

Send an HTTP request using any method and URL. Optionally configure query string parameters, headers, and basic auth.

 
Try it
Send GET Request with the HTTP / Webhook API

Send an HTTP GET request to any URL. Optionally configure query string parameters, headers and basic auth.

 
Try it
Send POST Request with the HTTP / Webhook API

Send an HTTP POST request to any URL. Optionally configure query string parameters, headers and basic auth.

 
Try it
Send PUT Request with the HTTP / Webhook API

Send an HTTP PUT request to any URL. Optionally configure query string parameters, headers and basic auth.

 
Try it
Return HTTP Response with the HTTP / Webhook API

Use with an HTTP Source that uses Return a custom response from your workflow as its HTTP Response

 
Try it