Automatically Posting to Mastodon and Twitter on New RSS Items

I promise I won’t be making every upcoming post about Mastodon, but as I realized I was pretty much limiting my Twitter use to posting about my new blogs, I figured why not automate that so I don’t have to even open Twitte…


This content originally appeared on Raymond Camden and was authored by Raymond Camden

I promise I won't be making every upcoming post about Mastodon, but as I realized I was pretty much limiting my Twitter use to posting about my new blogs, I figured why not automate that so I don't have to even open Twitter? And I'm automating the post to Twitter, why not do the same for Mastodon? As always, I look to Pipedream first when building integrations like this, and not surprisingly, the entire automation took roughly ten minutes. Here's how I built it.

Step One - the Trigger

For the trigger, Pipedream has built in a "New Item in Feed" action. I selected that and entered my RSS feed (https://www.raymondcamden.com/feed.xml). I then tested it to confirm it got my feed items. So to be clear, the entire "run this crap when a new item is posted" logic was done in about sixty seconds.

Screenshot of configured new item in feed trigger

Step Two - Format the Post

So, for this step, I wanted to create the text that would be used for both Mastodon and Twitter. I spent some time thinking about how I wanted to format this. In the past, I've sometimes done this for Twitter: "Blog Post: 'TItle of Post' link". I'll sometimes add a quick comment or shoutout to a product/service described in the post. I decided to make it even simpler for this workflow - the title in quotes, a line break, and a link.

I created a Python code step for this:

def handler(pd: "pipedream"):  # My goal is to create the text used to tweet/toot the new post  # For my needs, I thought nice and simple would be best:  # "Title of post"  # (blank line)  # URL  text = f"""  "{pd.steps["trigger"]["event"]["title"]}"  {pd.steps["trigger"]["event"]["link"]}  """  # Return data for use in future steps  return {"text": text}

Step Three - Post to Mastodon

As I mentioned a few days ago, my first time working with Mastodon on Pipedream required me to use Node as the Python library wouldn't work well. The issue I ran into was fixed pretty quickly, so my assumption was that I was going to use Mastodon.py. However, along with Pipedream fixing that particular issue, they also added support for Mastodon as a defined account, which means you can set up your authentication (in this case, just the access token) system-wide and use it in multiple workflows.

They also added a basic Mastodon action for hitting the API. So for example, here's what you get when adding the action:

New Mastodon action

Once you've defined a Mastodon account, you can select it and then the code will be able to pick up on the authentication. Make note of the code - it's hitting the Mastodon API to verify credentials - a default call. But when I saw this, I was curious how difficult it would be to change this to posting a new toot.

I checked the docs and found this for publishing a new status

POST https://mastodon.example/api/v1/statuses HTTP/1.1

Looking at that, I modified the default Python code a bit:

import requestsdef handler(pd: "pipedream"):  token = f'{pd.inputs["mastodon"]["$auth"]["access_token"]}'  authorization = f'Bearer {token}'  headers = {"Authorization": authorization}  toot = { "status": pd.steps["generateText"]["$return_value"]["text"]}  r = requests.post(f'https://{pd.inputs["mastodon"]["$auth"]["site_domain"]}/api/v1/statuses', data=toot, headers=headers)  # Export the data for use in future steps  return r.json()

As you can see, I'm posting the text of my new blog post, and that's it. No need for Mastodon.py at all. Although I would use it if I were doing anything more complex.

Step Four - Post to Twitter

Guess what? Posting simple text to Twitter has been supported in Pipedream for a decade or so. (Ok, maybe not quite that long.) I literally just added the action, selected my account, and used the same text I used for Mastodon.

Configured Tweet action

Conclusion

I mentioned earlier that all of the above took roughly ten minutes, and that's absolutely true. I think most of that was googling for the Mastodon docs and as I had not used them before, it took me a minute or two to find what I needed. If you want to try this out yourself, you can create a copy of my workflow here:

https://pipedream.com/new?h=tch_3xxfnA

Note - if you like this, but don't want to post to Twitter (or Mastodon), you can simply delete, or disable, the relevant step. Enjoy!

Photo by Patrick Fore on Unsplash


This content originally appeared on Raymond Camden and was authored by Raymond Camden


Print Share Comment Cite Upload Translate Updates
APA

Raymond Camden | Sciencx (2022-12-06T18:00:00+00:00) Automatically Posting to Mastodon and Twitter on New RSS Items. Retrieved from https://www.scien.cx/2022/12/06/automatically-posting-to-mastodon-and-twitter-on-new-rss-items/

MLA
" » Automatically Posting to Mastodon and Twitter on New RSS Items." Raymond Camden | Sciencx - Tuesday December 6, 2022, https://www.scien.cx/2022/12/06/automatically-posting-to-mastodon-and-twitter-on-new-rss-items/
HARVARD
Raymond Camden | Sciencx Tuesday December 6, 2022 » Automatically Posting to Mastodon and Twitter on New RSS Items., viewed ,<https://www.scien.cx/2022/12/06/automatically-posting-to-mastodon-and-twitter-on-new-rss-items/>
VANCOUVER
Raymond Camden | Sciencx - » Automatically Posting to Mastodon and Twitter on New RSS Items. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2022/12/06/automatically-posting-to-mastodon-and-twitter-on-new-rss-items/
CHICAGO
" » Automatically Posting to Mastodon and Twitter on New RSS Items." Raymond Camden | Sciencx - Accessed . https://www.scien.cx/2022/12/06/automatically-posting-to-mastodon-and-twitter-on-new-rss-items/
IEEE
" » Automatically Posting to Mastodon and Twitter on New RSS Items." Raymond Camden | Sciencx [Online]. Available: https://www.scien.cx/2022/12/06/automatically-posting-to-mastodon-and-twitter-on-new-rss-items/. [Accessed: ]
rf:citation
» Automatically Posting to Mastodon and Twitter on New RSS Items | Raymond Camden | Sciencx | https://www.scien.cx/2022/12/06/automatically-posting-to-mastodon-and-twitter-on-new-rss-items/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.