> ## Content Index
> Fetch the complete content index at: https://thibaultmilan.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# How to create a RSS feed bot for Mastodon
- URL: https://thibaultmilan.com/how-to-create-a-rss-feed-bot-for-mastodon/
- Published: 2022-12-20T21:21:45.000Z
- Updated: 2022-12-20T21:21:45.000Z
- Description: I wanted to create a bot for Mastodon that read RSS feed and post toots, turns out it's super simple and you don't have to know how to code.
- Author: Thibault Milan
- Tags: #Import 2026-06-21 19:35

Everything started from [a toot from Joël](https://chaos.social/@jollysea/109544971382423186?ref=thibaultmilan.com) about the new [StroumMonitor](https://zesumme-spueren.lu/resources/stroum-monitor/?ref=thibaultmilan.com) from Creos. It's basically a forecast of the electricity network load, and it should help the Luxembourgish residents to adapt their usage depending of it. The forecast comes as a widget you can embed on several websites like [zesumme spueren](https://zesumme-spueren.lu/resources/stroum-monitor/?ref=thibaultmilan.com) (save \[energy\] together), an API and a RSS feed.

I took the liberty to [put all of those resources on data.public.lu](https://data.public.lu/fr/datasets/stroummonitor-la-meteo-de-lelectricite-pour-une-consommation-responsable/?ref=thibaultmilan.com), the open-data initiative from Luxembourg. If someone from Creos reads this, just create an account, then an organisation, and ping me so I can transfert the dataset to you 🙃.

Ok so, Joël was wondering if we could make a bot, on Mastodon, that would toot about the forecast. I immediately thought about this RSS feed and start assembling something with my favorites no-code tools: Zapier & IFTTT.

## The bot account

First, you need to create a new Mastodon account for your bot. I made one on my own Mastodon instance but you can make it on any server. It’s perfectly fine.

Then, and that’s important Mastodon etiquette here, mark the account as a bot. On Settings -> Profile, check the « this is a bot » checkbox. I would rather recommend too to complete the profile so people will get more confortable with following you.

Now, we need to create a new « app » for our account , in order to get an API key. Still on Settings -> Development -> New app.

You just need a name and to uncheck all the permission except `write`. More specifically, you can only check `write:statuses`. Leave all the other fields as it is and save.

You now have the application created, and on the details you can see App ID, Secret and Access token. That’s what we gonna need later!

## The no-code service

Okay so, here’s the deal. My favorite service to do that would have been [Zapier](https://zapier.com/?ref=thibaultmilan.com). Unfortunately, using Webhooks to post content on Mastodon is a premium feature. While I do have a premium account, I want to show you how to do it for free. So we gonna use the more simple platform [IFTTT](https://ifttt.com/join?referral%5Fcode=DPqXQkwEOeVzx-z84a8IlV8il7veJg6P&ref=thibaultmilan.com) .

Let’s click « Create »

![](https://thibaultmilan.com/img/2022/12/ef83f08a-460a-4568-8a2a-5bdb385d25e1.png)

And choose **RSS** for the « If This » part

![](https://thibaultmilan.com/img/2022/12/3b732382-6a64-4d2c-a170-e0a2d6d41379.png)

Then « New feed item » and paste the RSS url `https://www.creos-net.lu/rss/stroumMonitor` and click « Create trigger »

![](https://thibaultmilan.com/img/2022/12/9454416e-d793-4eef-b007-251e0c37e8c8.png)

Now select Add in the « Then That » part and choose **Webhooks** and « Make a web request ». Now fill those fields like instructed below:

- **URL** is `[your instance url]/api/v1/statuses?access_token=[the access token we talked before]`. In my case it’s then `https://m.thibau.lt/api/v1/statuses?access_token=[mytoken]`
- **Method** should be `POST`
- **Content Type** should be `application/json`
- **Additional Headers** should be empty
- **Body** should be your text, using the « add ingredient » button. In my case it’s `[EntryTitle] pour le [EntryContent]`. Why that? Simply because `EntryTitle` contain the text « Prévisions de la charge nationale » and the `EntryContent` is date and forecast like « Mardi - 20 décembre 2022 - Statut vert : Système électrique en équilibre - Soyons toutefois conscients de notre consommation »

Save and … TADAAAA

So, bit of explanation here. For every new RSS item, IFTTT will send a `POST` request to your Mastodon instance, to the statuses (toots) endpoint, using your access token so the server will know where to write the toot. That’s all.

## Going further & ressources

Obviously you can adapt this with any kind of trigger you want, thanks to the power of IFTTT. New tweet, new Facebook Status, new email received … or new reading in some smart IoT device.

I put under the ressources to the Creos open-data on the Luxembourgish portal, and my reuse. If you wanna check on it 😃.

- [StroumMonitor, la météo de l'électricité pour une consommation responsable](https://data.public.lu/fr/datasets/stroummonitor-la-meteo-de-lelectricite-pour-une-consommation-responsable/?ref=thibaultmilan.com)
- [StroumMonitor Mastodon Bot](https://data.public.lu/fr/reuses/stroummonitor-mastodon-bot/?ref=thibaultmilan.com)

**Disclamer**  
IFTT Link are referral, I’ll get 10% off my subscription if and only if you subscribe for a paid plan.