Howdy, Zappers! Nick here, with another workflow...on Wednesday (would ya look at that). I personally think that RSS feeds can be a neat way to retrieve data, but there’s a limitation where our RSS by Zapier app only works on new items created after your Zap is enabled.
The Challenge
I’ve had multiple people ask me if it’s possible to retrieve existing RSS items, rather than creating a Zap and triggering it moving forward. It’s not obvious because if we look at the RSS by Zapier app we’ll see this for actions:
As you can see, we don’t have an action that can check an RSS feed and pull in existing items. Have no fear! Workflow Wednesday is here :)
The Workaround
This isn’t something that many people know, necessarily, but we do have an app (and it’s by Zapier) that can retrieve RSS items from a feed. You may not have used it before, or at least for this purpose, but here’s what we can use:
Yes, it’s webhooks but what we’re going to do is SUPER simple!
The Webhooks Step
First, we’ll choose the GET option:
Then we literally just paste the RSS feed:
When we test the Webhooks step, we can see that all the existing items have been retrieved:
Ok I fibbed. It’s not quite as simple as pasting the RSS feed, since we’ll need something to trigger the Zap.
You may have noticed in the screenshot above that I’ve got a Google Sheets trigger, that shows the exact same RSS feed as the one I pasted. You could use another trigger, like the Zapier Chrome Extension, if you wanted to retrieve items with the push of a button and without having to access a whole other app.
Let’s Use a Google Sheets Trigger
I’m going to use a single row, in order to retrieve RSS items from one feed. But you can add as many spreadsheet rows as you’d like in order process multiple feeds AND add all of those as new records in Airtable (or wherever).
This isn’t much more difficult than pasting a feed URL into the Webhooks step, since we’ll essentially paste it into a Google Sheet instead.
The Sheet
Something as basic as this will work:
The Trigger
Then select the spreadsheet and worksheet in your Zap:
Let’s test the trigger…
...then map the result into our Webhooks step:
What To Do with the RSS Items
Ok, so we’ve triggered a Zap with a feed URL and retrieved the items using the Webhooks step. Now what?
Well that depends what you’re trying to do, but I’m going to show you how to add each of the items as a new record in Airtable. To do so we’re going to use Looping by Zapier.
Specifically, we’ll use Create Loop From Text:
The setup is fairly straightforward but a bit time-consuming since we’re constructing line items for 4 different fields. Don’t panic — this isn’t as scary as it might seem at first glance.
I highlighted a few items from the first two fields (title and url) to demonstrate which ones go together. You would go in order, through each of the fields, so that when the Zap loops it will make sense.
TIP: Personally, I did all the titles, then all the URLs, and so on. Doing all the first items (across 4 fields) then all the second items, etc. seemed less efficient to me.
You may have noticed that I have the pipe symbol | between each of the items. You can use whatever you’d like, but ideally it should be something that won’t appear in your mapped fields. Otherwise, it will mess up the looping.
Finally, Create Records in Airtable
Luckily, this part is like mapping fields into any other action step:
BUT! Make sure you map the field that does NOT have the word “Preview” in it:
Let’s Test the Zap
When we add our URL to Google Sheets, the Zap loops through all of the items and adds them to Airtable as separate records. Pretty cool, huh?
Wrapping Up
Hopefully this article has shown you a few things:
- You can act upon existing RSS items by using a Zap
- Google Sheets is a great way to trigger a Zap, when you need an action to run
- Looping by Zapier is pretty neat, letting you perform multiple actions based on a single Zap run
Until next time — Happy Zapping!