So many tasks you do every day can be automated. There's no reason you have to manually backup your Instagram pictures to Dropbox or see if an important email came in or even check the weather to see if it's going to rain. Instead, all of this could happen automatically with an automation service like IFTTT.
For those unfamiliar with IFTTT—pronounced like "gift" without the G—it’s essentially a service that monitors linked accounts, or Channels, for predefined Triggers, or actions. When IFTTT observes a trigger from one of the user’s accounts, it performs the action defined by an IFTTT Recipe. With over 85 services and lots of ways to customize IFTTT’s actions, there's ways to get almost anything you want automated with IFTTT.
In this tutorial, I'll show you everything you need to know to make your own IFTTT recipes and get your tech life automated.
Anatomy of a Recipe
IFTTT uses pre-made recipes to perform actions between services—say, to automatically backup your Instagram photos. There are lots of recipes ready to be implemented, but it’s easy to create new recipes, too. It’s important to understand the component parts of a recipe, though, to make best use of IFTTT’s potential. Let's take a look.
Channels, as described earlier, are services or applications. Most are web applications, but there are also channels that will control internet connected devices, like WeMo switches, Philips hue connected bulbs, Automatic car sensors, and Blink(1) USB indicator lights. Other channels include Facebook, Evernote, Instagram, Google Calendar, some iOS native apps, and many more.
Enabling channels is just the first step. Once IFTTT is connected to your favorite services, it can start looking for triggers, the “this” in “if this then that.” Triggers are behaviors performed by you or the service, and can be active or passive. An active trigger could be a new post to the user’s Instagram with the hashtag “#vacationspots,” while a new weather report would be a passive trigger. The two behaviours could spur the same actions, say a new tweet or entry in Evernote. An active trigger is only prompted when the user performs a behavior using the monitored channel, though, and a passive trigger will be set in motion and recur automatically without further input from the user.
Actions are “that” in “if this then that” and will occur as a result of the trigger. When the IFTTT recipe runs in response to a trigger, any number of preset actions can occur using enabled channels. Some actions include sending an SMS or email, posting to Facebook or Twitter, or saving a photo or message to Evernote or Google Drive.
So far this could seem pretty hamfisted. I don’t want every image I save to iOS photos uploaded to Facebook or every email I receive archived in Microsoft OneNote; I’d like to be more precise with my triggers and even my actions. That’s where Ingredients come in. Instead of posting to Delicious all of the URLs I save to Pocket, IFTTT will look for tagged URLs and leave everything else alone. Rather than posting all of my Last.fm scrobbled tracks to Tumblr, IFTTT will only post my favorited tracks. Using action ingredients, I can then further refine IFTTT’s output by adding titles, tags, and more.
APIs and How They Make IFTTT Work
APIs, or Application Programming Interfaces, create rules for how two applications communicate and interact with one another. APIs disclose parts of a service application’s code, allowing a second application to accomplish tasks using the service.
Programmers don’t want to make accessible all of their code for two reasons. The first is fairly obvious: It’s their code and they want to limit its availability or run the risk of outsiders stealing chunks of it wholesale. Secondly, not all of an application’s code is necessary to accomplish all tasks. By specifying exactly what is important and making just that available with an API, programmers actually make their applications a lot more accessible. As examples, Day One syncs a user’s data to iCloud, and Fantastical takes a peek at Google and iCloud calendars; APIs allow Day One and Fantastical to integrate with useful services, providing a better user experience.
IFTTT works by employing not just one or two APIs but dozens. Right now, IFTTT supports 85 services. By combining any two of these channels and setting parameters for actions, IFTTT can accomplish thousands of tasks that range from the general to the specific.
Creating a Recipe From Scratch: Build an IFTTT Recipe to Update a Profile Picture on Twitter
There are a ton of IFTTT recipes ready to go, and you can get a lot accomplished with what’s already there. I’ve previously described how to use IFTTT to create a journal in Evernote. Sometimes, though, you have to roll up your sleeves and do the work yourself. I’m going to build a recipe that automatically updates my Twitter profile picture. While this recipe may not be what you want yourself, it will serve as a good primer on creating recipes and an example of how different services work together with IFTTT, and you can use the steps here to create your own recipes in the future.
While logged into IFTTT, choose Create in the top navigation menu. Click “this” when presented with the “if this then that” statement.
Select the trigger channel, the service that IFTTT will monitor for input. In this case, I am selecting iOS Photos.
Tip: Before getting started, you can activate channels from the IFTTT Dashboard by clicking Channels in the navigation menu and following the prompts for each service.
I haven’t yet activated the iOS Photos channel, so I must download the IFTTT iOS app and activate the channel from there.
Once activated, choose a trigger. Some channels only have one trigger, but iOS Photos has several. I’m selecting “New Photo Added to Album.”
Enter the name of the album. The trigger fires every time a photo is added to the iOS Photos album specified.
Now it’s time to tell IFTTT what to do with the information received from the trigger. Click “that” in the “if this then that” statement.
Select the channel that will perform the action. To update a profile picture on Twitter, select the Twitter channel.
Again, I haven’t yet activated the Twitter channel, so I’m prompted to give IFTTT access. Unlike last time where I was forced to shift to the IFTTT iOS app, I can complete the activation process by logging into Twitter in my browser. Follow the prompts or continue to the next step if the channel is already activated.
Decide which action Twitter should perform when it receives the iOS Photos trigger prompt from IFTTT. There are several actions IFTTT can perform with Twitter, but I’ve selected “Update Profile Picture.”
Customize the action by adding tags or additional information to the tweet. The tweet is optional, though, so feel free to delete it all together.
While IFTTT will accept direct text input here, it also provides a list of Ingredients that will pull information from the trigger and add it automatically to the action.
Save the new recipe. Use the default description provided by IFTTT or create a new one and toggle notifications on or off.
IFTTT will then open the My Recipes page, with the new recipe displayed at the top. From there, turn the recipe on or off and share it with other IFTTT users.
IFTTT will run each recipe every fifteen minutes or so, but the Refresh button will check the recipe right away.
Remember, this recipe only runs when an photo is added to the specified album in iOS. To make it work, add an appropriately named album in iOS Photos. This recipe can be edited to tweet all photos saved in iOS, too.
IFTTT is a powerful tool for automation that relies on service APIs, and to get the most out of it, you'll only have to put in a little elbow grease. While there are a lot of pre-made recipes ready to use, you'll have the greatest opportunity for customization if you make your own recipes. They'll be best suited for your needs, and will keep you from having to click around online so much to get repetitive tasks done.
This guide should have you feeling ready to make anything you can from combinations of the nearly hundred services and apps that work with IFTTT, but if you have any questions or trouble while making a new IFTTT recipe, leave a comment below and we'd be glad to help you out!