One of the unique traits of Workflow is its integration with native iPhone and iPad apps. By abstracting URL schemes from the process of building workflows that communicate with apps, the Workflow team has been able to offer actions to automate apps such as OmniFocus, Drafts, and Ulysses with support for text, images, and even documents.
Increasingly, however, iOS users who rely on their devices as their primary computers are leveraging web services for their daily tasks. And in the past few years, a different kind of automation – web automation – has complemented (if not replaced altogether) native automation to save time on the iPhone and iPad through web APIs.
The Workflow team knows this, and their latest integration is aimed at extending Workflow to any web service – even if it doesn't offer an iOS app or a native web action in Workflow. Today, Workflow is launching a new IFTTT integration to trigger web recipes.
By fusing workflow actions with the power of IFTTT's web API glue, IFTTT support in Workflow promises to take iOS automation further than it's ever been, drastically altering the scope of Workflow's capabilities.
From Workflows to Recipes
The idea is simple: with a single action, Workflow can now act as a trigger for any IFTTT recipe, for any web app supported by the popular automation service. All you need to do is connect your IFTTT account, set up a trigger in Workflow, and create a recipe on IFTTT. In most cases, Workflow's output will show up on the other end of an IFTTT recipe in seconds.
Those who remember Launch Center Pro's original IFTTT integration will be familiar with this concept. The recipe-building part still happens on the IFTTT website (or app); the Workflow action is just a trigger that sends data to a recipe.
And that's the most powerful aspect of this new integration. You don't have to set up separate workflows for IFTTT. You're free to mix and match IFTTT triggers with any action supported by Workflow, using the data (text, images, or files) that is generated by workflow actions as ingredients for your IFTTT recipes.
Even if you're new to IFTTT and web automation, there's no learning curve: add a 'Trigger IFTTT Recipe' action to your workflow, choose a name for the trigger, then open IFTTT and craft a new recipe from that trigger. By default, Workflow uses the output of a previous action as input for IFTTT, but you can assign additional ingredients with text or variables to provide data for IFTTT to use.
I've been able to play around with IFTTT integration in Workflow for the past two weeks. In that time, I've come up with some fantastic additions to my workflows, extending them in ways that weren't possible before.
Extending Workflow with IFTTT
Apple Music to Spotify Playlist
Spotify is one of the web services that isn't supported by Workflow with web actions. Thanks to IFTTT, though, we can leverage Workflow's existing iTunes actions to get details of Apple Music songs and use IFTTT to turn that information into a song on Spotify.
The first IFTTT workflow I built can add a song shared from Apple Music to one of your playlists on Spotify. In Apple Music, share an individual song, run the workflow, pick a Spotify playlist, and IFTTT will search for that song on Spotify and add it for you. Everything runs inside Apple Music thanks to the Workflow extension; once data is sent to IFTTT, you don't have to think about anything else.
Under the hood, Workflow does a few interesting things. First, it uses a regular expression to extract the song ID (the
i= part at the end of a song's URL) from Apple Music and it uses iTunes actions to look up the song's name and artist. Then, Workflow shows a list of your Spotify playlists (which you'll have to compile manually). Finally, Workflow uses these three variables as ingredients for the IFTTT recipe, which searches for the selected song and, if a match is found, saves it in a Spotify playlist.
If you prefer to browse what's new on Apple Music but would like to save songs for later on Spotify – or if you just want to move songs out of Apple Music and into Spotify – you can download the workflow here.
Subscribe to RSS Feed
Another integration that Workflow doesn't have natively is Inoreader. I've enjoyed the speed and advanced filters of this RSS service since I switched to it in January, but I've missed the ability to quickly subscribe to a new blog with just a few taps.
With Workflow and IFTTT, it now takes me a couple of seconds to add a new publication to my Inoreader. When I'm in Safari and I come across a website I want to subscribe to, I can invoke the Workflow extension and extract RSS feeds from the page with a single action; if no feeds are found, the workflow is stopped.
If a feed is found, Workflow asks me to pick a folder from my Inoreader account (a list I had to create manually) and it then sends the RSS URL as text input and the folder as an extra ingredient to IFTTT.
In a couple of seconds, IFTTT passes the data to an Inoreader recipe that subscribes to the new source for me.
You can download the workflow here.
Scheduling Facebook posts with Buffer
Something I've always put off doing is taking care of MacStories' Facebook page. Because most of my friends and professional connections hang out on Twitter or Slack, I don't spend a lot of time on Facebook; as a consequence, I forget to share MacStories posts there.
I've been keeping an eye on Buffer for a while as a way to automate sharing content to Facebook. I don't want to enable another plugin on the site for direct WordPress-Facebook integration (I try to avoid plugins as much as possible as any third-party code is always a potential point of failure), but Buffer can post content to other services starting from any URL or a new item in an RSS feed.
Thanks to IFTTT support, I've added a single step to my existing Publish to WordPress workflow to send the link of a newly published post to Buffer. This required no extra work on my end: because the output of Workflow's Post to WordPress action is the URL of the new post, all I had to do was insert an IFTTT action and send that link to a Buffer action on IFTTT.
Even better, because Workflow triggers IFTTT recipes instantly, as soon as I publish a new article, its link is added to my Buffer queue. After that, Buffer will take care of posting the link to the site's Facebook page, so I no longer forget about it.
Exporting iOS Contacts to Google
The last IFTTT workflow I built is quite complex: given access to the iOS address book, it'll use IFTTT to export every contact to Google Contacts. In my tests with 156 contacts, the workflow took about a minute to run and it successfully exported 153 entries to Google Contacts using IFTTT.
To make this work, I had to use a 'Find Contacts' action with no filters, which returns a list of every contact in the iOS address book. Then, using a Repeat Block, I iterated over each contact, extracting the details I wanted the Google version of a contact to have – name, phone number, email address, address, and notes. Each iteration of the Repeat Block ended with an IFTTT action that triggered a recipe with the variables used as ingredients.1
Initially, I thought that IFTTT wouldn't like the fact that a recipe was being triggered over 150 times in a minute. But in my stress-tests, Workflow didn't return a single error and IFTTT successfully imported almost all of my contacts (except 3). If anything, the biggest problem was that I couldn't figure out how to include multiple items in a single IFTTT field – say, multiple addresses for the Email field of a contact. Hopefully IFTTT will be able to clarify if this is supported.
This workflow isn't a native iOS -> Google Contacts exporting solution, but it highlights how Workflow's flexibility and native integrations combined with IFTTT's web actions can help two siloed, proprietary services communicate and let users automate the process any way they want.
You can download the workflow here.
The addition of IFTTT triggers turns Workflow into an iOS automation app capable of communicating with hundreds of web services. Workflow can now go beyond iOS features and apps.
There are several workflow ideas I haven't explored for this post. You can now publish to Blogger using Workflow and IFTTT. You can append text to Google Drive documents and Google Sheets. You should be able to trigger home automation devices from Workflow with the iOS widget or Watch app. At this point, the possibilities are truly endless, and the Workflow team has done an excellent job at blending the app's native actions with the power of IFTTT's web glue.
Workflow was already the most powerful app on my iOS devices. With IFTTT support, it reaches a new level.
- Workflow supports up to 10 ingredients for each IFTTT trigger, so you should be able to extend the workflow to include more fields for each contact. I've only added the ones that were essential to me. To do that, copy the flow of actions in the repeat block for more contact details and add more ingredients. ↩︎