Tag Archives: microblogging

How to Post to Mastodon From Anything Using IFTTT

I finally managed to hook up IFTTT to Mastodon to auto-post from another site! I use IFTTT as glue for linking several services together including sharing interesting links from Pocket when I’m offline: I can add a tag in the app on my tablet, and then when it syncs that tag up to the cloud, IFTTT will pick it up and create the share post on whichever service I’ve tagged it for.* I also use it to post from RSS and WordPress to publish new blog posts to services that aren’t available in Jetpack.

My main source was this post by @raucao@kosmos.social. It’s a bit out of date, but it pointed me in the right direction.

Note: I’ve updated this article several times (most recently July 31, 2019) to add more information, clarify some issues, respond to changes in IFTTT’s layout, and make additional suggestions.

Before we go any further, if you’re hooking up something that’s totally automatic, rather than something triggered by your own actions on another site — especially if you don’t plan on posting to the same account manually — I’d recommend looking for a bot-friendly Mastodon instance like BotsIn.Space. That’s where I set up @SpeedForce@BotsIn.Space to post every time there’s a new blog entry on Speed Force.

1. Set up IFTTT’s Maker WebHooks

On IFTTT, go to maker_webhooks settings. Make sure it’s active.

2. Set up Mastodon to allow IFTTT as an application

Go to Preferences/Development/Your Applications on your Mastodon instance (ex: on mastodon.social it’s here). Click on New Application. Enter the following:

Name: IFTTT
Website: https://maker.ifttt.com/ (at first I thought you needed the full URL from the IFTTT config, but it seems OK without it.
Scopes: read and write should be enough. Actually just write might be fine.

Submit the app.

Now open the new app you’ve created and look up the access token.

3. Create an IFTTT app!

Go back to IFTTT and create a new app. For example, I created an app triggered by Pocket, whenever an item is tagged share-mastodon. You could also set it up to autopost every time you blog with a specific tag, or every new item in an RSS feed, or all kinds of things. Even cross-post from Facebook or “the birdsite” (Twitter).

SInce IFTTT has rearranged their site to make it easier to use pre-built recipes — sorry, apps — here are the steps to get to the point where you can build your own.

  1. Click on the “Get More” button at the top of the IFTTT page.
  2. The first bar should say “Make more Applets from scratch.” Click on the “IfThisThenThat” button in that bar.
  3. Click on “This” in “If +This Then That”
  4. Search for the type of service you want to hook up — RSS for a feed, or Pocket, or Facebook, etc. and choose the type of event you want to use (ex. “New feed item” or “New item tagged…”)
  5. Enter the info needed for the event — your feed URL, the tags you’re looking for, etc, and click on “Create Trigger.”
  6. Click on “That” in “If [rss] Then +That”
  7. Search for Webhooks and click on it.
  8. Choose “Make a Web Request”

And now you’re ready to configure how IFTTT will actually talk to your Mastodon app. Enter the following settings:

URL: https://mastodon.example.com/api/v1/statuses?access_token=1234567890 (replace mastodon.example.com with your server and replace 1234567890 with the access token you got from Mastodon.)
Method: POST
Content Type: application/x-www-form-urlencoded
Body: status=Whatever you want to post

For example, to share a link from Pocket you might want the body to be

status=<<<{{Title}}>>> <<<{{Url}}>>>

Or for posting from WordPress, you might want it to be

status=New blog post: <<<{{PostTitle}}>>>
<<<{{PostUrl}}>>>

Or from an RSS feed, you could use

status=New post: <<<{{EntryTitle}}>>>
<<<{{EntryUrl}}>>>

The “ingredients” available (Title/PostTitle/etc.) will depend on the source you’re using, and you can get them from the IFTTT user interface. RSS feeds will have EntryTitle, EntryUrl, etc., WordPress will have PostTitle and PostUrl, and so on. You can click on the “Add ingredient” button to see what’s available.

Watch out for ampersands and single quotes, because the API handler treats them as separators. Even if they’re in the source material! When I first set this up, I ran into problems where single quotes in the original post would cause the Mastodon post to break. Wrapping the ingredient like this <<<{{Title}}>>> will prevent that.

Be sure to include the status= at the beginning! You can also add optional parameters for the Statuses method of the Mastodon API to add spoiler text, mark it as sensitive content, change the visibility (public, followers-only, etc), and so on.

To post an excerpt in a CW that doesn’t show up in local/federated timelines or hashtag searches, you would do something like this:

spoiler_text=Link: <<<{{Title}}>>>&visibility=unlisted&status=<<<{{Url}}>>> <<<{{Excerpt}}>>>

Or you could auto-generate a private draft, which you can go back to manually and fine-tune using Mastodon’s “Delete and re-draft” feature.

visibility=direct&status=< <<{{Title}}>>> "< <<{{Excerpt}}>>>" < <<{{Url}}>>>

Unfortunately, this method can’t post images because uploading images to Mastodon is a two-step process** and IFTTT webhooks can only do one step. For Twitter, the cross-poster crossposter.masto.donte.com.br, can handle image uploads. And if you want to go full Rube Goldberg, you can hook up a chain like Instagram→ IFTTT→ Twitter→ Crossposter→ Mastodon. (Thanks to @outside_rs for confirming this works!)

Click on “Create action.”

Add a title and click on “Finish.”

4. Test it out!

Go and post something that should trigger the rule, then come back and click “Check Now” on the IFTTT applet. Make sure it comes through the way you want it to. Adjust it as needed, using “Check Now” to verify each change, until it’s working the way you want it.

Once you’re done, let it go! Over time, IFTTT will adjust its checking frequency based on how often you post to the source feed. I’ve got some that it usually catches within 10 minutes, and others that it takes a few hours.

You can follow me on Mastodon at @kelsonv@wandering.shop. If you’re not on Mastodon, but would like to check it out, start at JoinMastodon.org. It’s a quick overview of what Mastodon is, how it’s different from Twitter, how different instances work (think of them as different servers on an MMO game, or different email services), and how to pick an instance that suits you.

*The day after testing the Pocket-to-Mastodon connection with a few links, I discovered something interesting about IFTTT when it re-posted one of those links to Buffer. Apparently IFTTT doesn’t know which tags are new, only which bookmarks have been updated and what the current tags are. My new Pocket-to-Mastodon applet picked up the share-mastodon tag I’d just added, and my Pocket-to-Buffer applet picked up the old share-buffer tag that had been on there since I first shared it last month.

**The Mastodon API needs the image to be uploaded before you post the status, and IFTTT apps can only take one action.

Thread 1/

I don’t like Twitter threads.

In most cases, if something takes more space than one or two tweets to say, it’s easier to read as an article. It’s especially bad with very long threads, and those that aren’t crafted to make each tweet a unit. When sentences continue on from one tweet to the next as if they’re only line breaks, it makes it hard to pick out a statement to highlight, or where to start.

On the plus side: Tweets are more likely to be seen, more easily shared, and people can interact as they’re posted, like a live conversation. A thread that’s crafted to fit in 140-character chunks has a rhythm to it, like a daily comic strip collection vs. a comic book. And an unplanned tweetstorm gives both the writer a chance to get their ideas down quickly and the reader a chance to see them unfiltered.

Compared to an article, a tweetstorm provides immediacy, and any Twitter thread provides reach. But they’re still a pain to read.

Also written (of course) as this twitter thread.

Why am I still blogging? (And why about this stuff?)

This blog has been around 15 years. Social media has mostly moved on, to silos like Facebook and Twitter. People don’t follow random personal blogs. Topic-focused sites are what people actually read, and even that mainly following links from silos.

Meanwhile there are so many major things going on that make the things I post about here — comics, fandom, photos of things I found interesting, random tech thoughts — seem trivial.

So why keep a blog going? And why write about trivialities, and not big things like the battles over civil rights, healthcare, environmental protections, war?

As for the first: Some of it is stubbornness. And some of it is wanting to keep part of my writing/photo presence somewhere “permanent” (to the extent that anything online is).

As for the second: I’ve never really liked talking news and politics online. I rarely feel like I can add anything that hasn’t already been said (probably better) by someone else. Also, online conversation has gotten way too toxic. On the other hand, while the little things may be trivial, they add up. They add up to your life. It feels like I might actually have something to say that’s not already been said a thousand times by people more familiar with the issue than I am.

Plus it’s a way to assert some normality in a world that feels decidedly abnormal.

I’m not likely to come up with anything super-profound on the most important topics, but I can make short statements, and I can amplify other voices. And I’m trying to come to grips with the fact that that’s important. I’ve been reading a lot more and posting a lot less over the past year or so, but even if I can’t say anything profound, I shouldn’t stay silent.

So I’ve been microblogging, and linking, and reposting — all things that are better suited for a service that’s built around those use cases. When I have something longer to say, I do try to pull it in here, because a blog post is better than a Twitter thread… But I think more people probably see my retweets than my blog posts, anyway.

Mobile Apps and Spotty Connections

Portable cellular phone tower on wheels.I believe that any network-aware mobile app should assume network access will be spotty. People step into elevators, ride buses through tunnels, attend large events where they’re competing with thousands of other phones…there are all kinds of reasons you can lose your connection.

That’s why I like the sync approach taken by Gmail on Android. Read, write, label, file, reply…pretty much anything can be done without a connection, and it’ll push your changes as soon as you get back into range of a signal. That’s also why I’m more likely to skim Twitter than Facebook while waiting for the elevator at work – Ubersocial has already synced recent tweets for me to read, but Facebook usually can’t even load until the doors open and I lose all access.

Right now, though, I’m looking for an offline posting app. I’m planning for Long Beach Comic Con next month, and I know from experience that T-Mobile has no signal at all on the main floor of the convention center. I’d like to be able to tap out a tweet when I think of it, hit send, and have it queue up the post until the next time I make my way up the escalator to the lobby. (Ubersocial used to do this, but doesn’t seem to anymore.)

What I’d really like to do, though, is upload photos offline to Twitter, Instagram or Tumblr. It’s not a huge deal, since I can still post when I surface for lunch or coffee — that’s when the photos would actually go out after all — but if you’re going to make a point of posting things in the moment, it helps if you don’t have to hold that moment in your mind so long that it distracts you from experiencing the next one.

Any recommendations?

The Culture of *Now*

Speedster's-eye view of a Chicago street.

It’s astonishing how short the Internet’s attention span is these days.

Last Friday I made a point to post my photos of Endeavour’s final flight as quickly as possible. The shuttle’s carrier landed just before 1:00pm, and I put off grabbing lunch until I had uploaded my best pictures. My Flickr traffic jumped up by a factor of 5 that day…and was back to normal on Saturday.

A few years ago, I could post convention photos a week or more after the event and people would view them in significant numbers. If a convention ended on Sunday, I usually tried to put my pictures online by Monday or Tuesday, then add them to groups over the course of a week. These days, if the photos aren’t up during the con, no one seems to care. And even if they’re up, they’d better be labeled and submitted to groups immediately. Sure, there’s a bump, but by Tuesday, interest is already dropping off.

Sometimes it seems like even waiting until evening to transfer photos from the camera is too long. If it’s not pushed straight from your phone to Instagram within five minutes, your potential audience is already moving on to the next thing.

I used to review Flash comics at Speed Force, but it became clear that whenever I missed the day of release, I got half as many readers, and if I didn’t have the review up by the end of the weekend, only regular readers would even see it. And there wouldn’t be any discussion, because everyone had already hashed things out on other sites.

A while back, I wondered, Is now better? I guess I have the answer: “Yes, if you want people to actually see it.”