10 Reasons to Love Launch Center Pro 2.3

It's been four months since we received an update to Launch Center Pro. But, it's an update well worth the wait. In fact, I'd argue it's so massive that it should be called 3.0. And, here are the reasons why I think it's an awesome update.

1. Nested Encoding Helper Tags

If you're familiar with x-callback-url, you've probably already tried to create your own custom actions that involve more than one URL scheme. If you do, you will typically need to encode the URL behind x-success parameter. Launch Center Pro has a special {{..}} tag to help encode the enclosed URL.

With the new 2.3 version, you can nest these encoding helper tags to make your URL schemes easier to write and read. You can even nest unlimited number of these tags. Launch Center Pro will resolve them from inside out.

As an example, I have rewritten my previous Drafts action to cross-post to Twitter, Facebook, and App.net, by chaining them inside Launch Center Pro.

Open this link to automatically install this action on your iOS device.

After prompting the user for the text to be cross-posted, I store it in the clipboard and use Drafts' ||clipboard|| tag to retrieve it before running any of the action. Because the clipboard content doesn't change throughout the chain of actions, I can use the same ||clipboard|| for all the subsequent actions too.

And, if you look into the entire URL Scheme above, it's a lot easier to read than having to perform multiple encoding on most of the URLs.

2. Expand the [clipboard] Tag at the Right Time

As shown in the previous example, clipboard is a great, yet tricky, resource. Prior to this, Launch Center Pro supports [clipboard] and [[clipboard]] tags to return the encoded and decoded version of the clipboard content. But, there's a catch to it. These tags will only be translated once, i.e. before Launch Center Pro runs the URL. While this may be enough for most use cases, there are some cases where we need a better way to manage the clipboard.

For example, if we want to chain one or more actions that can modify the clipboard content, and return to Launch Center Pro to work with the updated clipboard content, we need to resort to an encoding hack. This is probably one of the reasons why Drafts released the ||clipboard|| tag.

Fortunately, the new update to Launch Center Pro adds a smart solution to this problem. Instead of forcing the users to be encoding-savvy, Launch Center Pro intelligently expands the [clipboard] and [[clipboard]] tags at the right time. For example, if you run launch://?url={{..[[clipboard]]..}}, Launch Center Pro will use the most updated clipboard content at the time the URL is executed.

This allows me to simplify my previous action: Share a Launch Center Pro Action with my other iOS devices via Command-C.

Open this link to automatically install this action on your iOS device.

Assuming that you have put the URL of the Launch Center Pro action into the clipboard, you can trigger this action to encode it using the built-in Launch Center Pro urlencode feature and append the encoded clipboard to the launch://import URL, before sending it to your other iOS device via Command-C.

3. Nested Input Tags

In addition to supporting nested encoding helper tags, Launch Center Pro 2.3 also supports nested input tags. For example, you can now create nested [list] tags, put [prompt] inside [list] or [dropbox] tags, and many other combinations. Keep in mind that up until 2.2, Launch Center Pro also has [clipboard] and [dropbox-text] tags.

Quoted from the official documentation:

"As a rule, all tags are always executed inside out, left-to-right. (Except for [list], which only executes nested tags if the value is selected.)"

To give you an illustration, I will use Phillip Gruneich's 1Password Search action. Phillip was trying to setup a [list] that would prompt him a list of common services to search in 1Password with a fallback [prompt] at the end. Prior to 2.3, Phillip had to use launch://?url= and a bit of encoding hack to achieve this.

But, with the new version, we can create a more readable version.

Open this link to automatically install this action on your iOS device.

Keep in mind that [list] and [prompt] means that Launch Center Pro will return an encoded value, whereas [[list]] and [[prompt]] will tell Launch Center Pro to return a decoded value. In the above example, I used a combination of [[list]] and [prompt] to prevent double encoding of the [prompt] result. As a result, I need to use the encoding helper tag, {{..}}, to encode the option that has white space in it.

The support for nested input tags in the new version is not limited to one or two levels. You can create an unlimited number of nested input tags. You can even create a navigation menu, as you would create for a website, in Launch Center Pro.

To give you an illustration, I will share an updated version of my Call action from my Launch Center Pro 2.1 review. Instead of creating a simple [list] of the three ways I can contact my wife, I can create a navigation tree like this:

The new version also allows you to use the [contact] tag to prompt for an entry in your Contacts app each time the action is triggered, instead of during the time the action is created. It's perfect as a fallback prompt for my use case.

Open this link to automatically install this action on your iOS device.

Launch Center Pro 2.3 provides a visual `[list]` builder to help users build simple URL actions with `[list]`.

4. List Builder and Featured Actions

If you pay attention to the Action Composer inside previous versions of Launch Center Pro, you'd probably be aware of the keyboard extension that can help you craft your URLs. In addition to the [prompt], [clipboard], [dropbox], and <te-snippets> visual helpers, the new version also includes a visual helper for building [list] URLs.

The List Builder interface allows you to easily name your list, add item labels and values, and define how you want the output to be encoded. Even though it doesn't support the more advanced nested [list] use cases, the interface should be able to satisfy most common ones.

The team at Contrast tries hard to balance the power user features with a better onboarding experience for new users. That's why the new version also includes a new Featured Actions section inside the Action Composer to help new users avoid the cold feet problem. Similar to other sections in Action Composer, such as Featured Apps and All Supported Apps, this section can easily be updated from Launch Center Pro server to provide users with the most updated content.

5. The new [action] Tag

Before today's update, there is no way to refer to a particular action inside Launch Center Pro. The new version fixes this with the introduction of [action:id] tag. As of 2.3, all actions (including old ones) have a unique ID associated with them. To find it, you need to switch to Edit mode, and scroll to the bottom of an action. The Action ID information can be found at the bottom left of the screen.

Similar to action name in Drafts, you can use Action ID to refer to an action, both from within Launch Center Pro and from other apps. For example, to refer to an existing action in Launch Center Pro, simply create a new action with this URL: [[action:id]]. If you want to refer to an action from another app, you can use launch://?url=%5B%5Baction%3Aid%5D%5D.

You can even create a new action to encapsulate several other actions (similar to a group), and use the new Action ID to refer to it from another app. For example, I create a new action where I group all my clipboard-related actions, such as Clean Links, Find and Replace (using TextTool), Open in Safari, Text Other Device, and Tweet Longer.

Open this link to automatically install this action on your iOS device.

Then, I create a new URL action in Drafts that would let me copy the current [[draft]] into the clipboard and redirect it to this virtual group of Launch Center Pro actions for further actions. Assuming that the Action ID for my new action is 126, here's how my Drafts action looks like:

Open this link to automatically install this action on your iOS device.

By creating an action that uses [list] to encapsulate several other actions and act as a virtual group, we can now invoke these actions from other apps relatively easily.

6. Other new tags

In addition to the new [action:id] tag and updated [contact] tag, Launch Center Pro 2.3 also introduces several new tags, such as [contact-abid], [dropbox-direct:path] and [scan].

The [contact-abid] is a new variant of the [contact] tag that allows you to get the ABID information of entries in Contacts app. This ID is required by WhatsApp Messenger app to uniquely identify its users.

Here's an example of a URL Action in Drafts that would send the current [[draft]] content to one of your WhatsApp contacts:

Open this link to automatically install this action on your iOS device.

The [dropbox-direct:path] tag is a variant from the [dropbox:path] tag. It allows you to get the direct link to a file in your Dropbox folders. If you prefer to use URL instead, you can use launch://dropbox/copy/directlink to copy the direct link into the clipboard. You can also add &directlink=yes to these URL schemes:

Launch Center Pro 2.3 also adds a new [scan] tag that allows you to use the built-in camera as a barcode or QR code scanner. Give these actions a try, and see how you can customize it to fit your needs:

One thing to keep in mind, the new version no longer supports Fleksy keyboard and [prompt-fleksy]. Here's the explanation quoted from the official documentation:

"Sadly, the Fleksy SDK no longer supports the ability to enable and disable the Fleksy keyboard programmatically. This makes our [prompt-fleksy] tag impossible. We will continue evaluating their future releases with the hopes of one-day bringing Fleksy back, if demand dictates."

7. Giphy - Animated GIFs

There are two people in my Twitter timeline that frequently uses GIFs to express their feelings in their tweets. They are Federico Viticci and Sean Korzdorfer. I know they have a huge collection of ready-to-post GIFs in their Pinboard accounts. It would be impractical for someone without a huge GIF collection to be able to post relevant GIF images on Twitter like they do.

Fortunately, Launch Center Pro 2.3 brings a fun (and excellent) integration with Giphy. Giphy is a site that allows you to search their GIF collections using a keyword. If you're interested in tweeting GIFs, here are the new Giphy-related syntax in Launch Center Pro 2.3:

And, here's a handy Tweetbot action that you can use to post the GIF you fancy most:

Open this link to automatically install this action on your iOS device. Note: You may need to replace my Twitter username in the URL Scheme with your Twitter username.

Launch Center Pro 2.3 allows you to create location triggers with smart filters.

8. Location Triggers: Geofences & iBeacons

Launch Center Pro 2.3 brings a new way to trigger actions. In addition to the existing scheduled timer, you can now use a predefined geofence or iBeacon region to trigger your actions. Launch Center Pro allows you to register your favorite places to ease the process. You can even filter the conditions for which the trigger would fire. For example, you can define the days of the week, the time of day, or even the time interval between occurrences.

Here's a simple action I create to open up my Clear's Home to-do list when I arrive at home on weekdays after 6 PM. When the geofence entry trigger fires, Launch Center Pro will push a local notification. Swiping on that notification will take me directly to my Home to-do list on the Clear app.


As you can see, the location triggers are independent of the action URL. If you share an action with location triggers in it, the trigger settings won't be shared by Launch Center Pro.

If you're used to location-based reminders, I believe you're going to enjoy this new feature.

9. LC-Callback

If you love iOS automation like I do, you'd probably owe it to Greg Pierce for his excellent work on the x-callback-url specification. Without it, many of the great automation we have today would not be possible. I wouldn't even be writing articles like this.

With this new version, the team at Contrast aims to bring a new possibility to the iOS automation ecosystem, by introducing lc-callback. By adding an lc-callback parameter to the end of any URL that will be launched from within Launch Center Pro, you can simulate an x-success call.

Similar to an x-callback-url, Launch Center Pro will execute the first part of the URL. Then, when the user double-taps the Home button to switch back (manually) to Launch Center Pro, it will execute the lc-callback portion of the URL.

This feature is designed to help bridge apps that have URL schemes but do not support x-callback-url yet. For example, I can delegate a task to my colleague via WhatsApp Messenger and save it to my Work to-do list in Clear. Both WhatsApp Messenger and Clear have URL schemes but do not support x-callback-url yet.

Open this link to automatically install this action on your iOS device.

Using this action, I can type the task description, store it to the clipboard, pick an entry from my Contact list, and use its ABID info to send a WhatsApp message. Once I finish with WhatsApp Messenger, I can switch back to Launch Center Pro, and it will be ready to take me to Clear app and add the same task to my Work to-do list.

You can also use lc-callback to bridge your photo editing and sharing workflow between several photo apps. For example, you can take a photo in Instagram, share it with your Facebook and Twitter friends, and switch to other social networking apps (such as WhatsApp Messenger or Path) using lc-callback.


And, everything starts with an action in Launch Center Pro.

10. IFTTT Channel

Yes, I am saving the best for last. Launch Center Pro 2.3 introduces a new IFTTT channel where you can create your own IFTTT recipes involving Launch Center Pro. You can trigger an IFTTT action from within Launch Center Pro and send up to 10 parameters, or have IFTTT send push notification or execute a URL from within Launch Center Pro.

To activate this feature, you need to create an account in Launch Center Connect. You can use your email address or connect it with your Twitter/Facebook account. Then, you need to sign in to Launch Center Connect from your iOS device, and activate the Launch Center Pro channel on IFTTT.

Once everything is setup, you can create your own recipes or clone any of mine. Here are a few recipes I've created:

  • [Trigger] Post to a Slack channel
  • [Trigger] Log Paid Apps Purchase to Google Spreadsheet
  • [Trigger] Log Office Check-in/out Time to Google Spreadsheet
  • [Action] Open 1Writer whenever a new Markdown file is added 

If you use Slack frequently, you'd know that it's not easy to post a quick note to a channel without having to refresh all the channels in that team. This is getting even harder if you're a part of multiple teams. With IFTTT integration, you can use Launch Center Pro to post a quick message to a Slack channel that you access most frequently.

Open this link to automatically install this action on your iOS device.

IFTTT Recipe: Quick Post to Slack connects launch-center to slack

Another use case that fits nicely with the quick entry capability of Launch Center Pro is logging my purchase of paid apps. Even though there are the iTunes' purchase records, I'd prefer to have my own records of such purchases - especially for paid apps. Until today, I'm using Momento to record this information. With the new IFTTT channel, I can log it to a Google Spreadsheet instead.

Open this link to automatically install this action on your iOS device.

IFTTT Recipe: Log Paid Apps Purchase to Google Spreadsheet connects launch-center to google-drive

If you combine IFTTT with the new Location triggers from Launch Center Pro, you can log your office check-in/out time to Google Spreadsheet. If you're a freelancer who often needs to go to the client site, you're going to enjoy this feature. It can also remind you to log the contextual description of your visit.

Open this link to automatically install this action on your iOS device. Note: You need to setup the location trigger manually for this action, because Launch Center Pro export/import feature doesn't allow for the location data to be shared.

You can create a similar action for the exit action. Because the visit description should be the same with the entry action, the exit action can be prompt-less. With a simple swipe, even though you're on the go, you can record the exit time to your Google Spreadsheet.

IFTTT Recipe: Using LCP's location trigger, log your check in/out time to a known site on Google Spreadsheet. connects launch-center to google-drive

My final example for the IFTTT integration is a push notification from the Dropbox channel on IFTTT that would trigger a Launch Center Pro's URL action to be executed. I created an IFTTT recipe that will trigger whenever a new Markdown file is added to my /Public folder. This usually happens when my partner, Camila, is posting her kids apps review drafts. With the push notification, I have setup an action that will allow me to open that file in 1Writer for reviewing/editing.

IFTTT Recipe: Open Recently Shared Markdown File in 1Writer connects dropbox to launch-center


Launch Center Pro 2.3 is an awesome update. It took me more than two weeks to get a grip on all the new features. There are a few small nice details that make this new update enjoyable to use, such as &lc-icon to set a custom icon, custom push notification sounds, and a better way to push shared actions to all your iOS devices using Launch Center Connect.

Launch Center Pro 2.3 is both more powerful and easier to use. It's a wonderful gift for both the power users and new comers. I'm looking forward to more goodness iOS 8 will bring to Launch Center Pro.

Get Launch Center Pro on the App Store: iPhone | iPad

You should follow me on Twitter here.