Mingle Lets You Launch Actions From Your Contacts List

By now, I'm sure you're already familiar with Launch Center Pro and Drafts. These apps make a lot of iOS automations possible through their custom actions. Yesterday, Samir Ghobril released Mingle, an app that allows you to create custom actions and launch them based on your Contacts list.

Mingle lets you launch actions from your Contacts list.

How It Works

Mingle uses a custom Contacts list view that lets you to drag a contact's avatar to the right to switch the focus to any of the four actions. It allows you to setup exactly four contact-based actions that you can trigger by dragging the contact's avatar. As you drag to the right, Mingle will reveal the first action's icon. Then, as you hold and drag farther, you can see all the other icons too (one at a time).

If you arrive on the action that you want to launch, simply release your finger. Mingle will execute the URL schemes stored for that action.

Mingle supports the standard iOS URL schemes that you may already comfortable with. For example, you can attach a Tweetbot URL that lets you send a quick DM based on the contact's Twitter username.

What makes Mingle special is its ability to pull contact information into tags and allows you to craft your own actions using them. For example, you can use [phoneNumber] and [email] tags to extract the first phone number and email address for the selected contact. Other tags include [displayName], [twitter], and [url].

Mingle also includes many built-in actions that can give you hints on how you can create your own actions. For example, the WhatsApp message action looks like this:

whatsapp://send?text=[prompt:Message]&abid=[ABID]

As shown on that action, Mingle also supports [prompt:Title] tag - similar to Launch Center Pro's [prompt] tag. And, you can even work with more specific contact-based tags such as [ABID] (used by WhatsApp to uniquely identify its users), [social:], and [IM:].

Mingle has three custom URL schemes of its own, mingle-message://?recipient=, mingle-email://?recipient=, and mingle-tweet://?username=. Because these are contact-based URL schemes, they're useful only for in-app usages.

After beta-testing the app for a couple of weeks, here are a few custom actions that I use.

Custom Action #1: Send a Due Reminder URL via iMessage

Last year, I created an action that let me send a message to remind someone and attach a Due URL scheme at the end of that message. To perform this action, I need an email address, the reminder content, and any (optional) message that I need to include as prefix.

Here's the custom action I create in Mingle to trigger this action. It uses the [email] information from the selected contact, and two additional [prompt] texts. Once all information is collected, it will trigger a custom Drafts Message Action called "Remind Someone".

To install this action in Mingle, you need to swipe left from the Contacts list view, and tap on any of the existing four actions that you want to replace. Then, you tap on "Custom Action", and paste the above URL in the appropriate field.

Remind Someone is a custom Message Action in Drafts that sends a reminder text alongside a Due Reminder URL via iMessage.

The "Remind Someone" action breaks down the information sent to Drafts into three separate [[line|n]] contents: the contact's email address, the reminder content, and any (optional) prefix message. Then, it will use them to craft a message containing the Due's Reminder URL.

Open this link if you want it installed in Drafts on your iOS device automatically.

Custom Action #2: Create a new Event in Fantastical and Send the Fantastical Event URL via iMessage

Most events in my calendar are meeting appointments that are started with a face-to-face or an IM conversation. I usually go through the motion of typing what the event is in Fantastical and add the invitees afterwards. Depending on the backend service for your calendar, the chance for an invitation email to be sent may vary.

Mingle enables a different approach to this workflow. You start from the person you want to meet and swipe right to trigger a custom action. I create an action that will send a message to that person along with the event information and a Fantastical URL scheme to make it easy for that person to add into his calendar.

Here's the Mingle custom action that I create for this purpose. It requires a custom URL Action in Drafts named "Fantastical and Email".

And, here is the "Fantastical and Email" custom URL Action in Drafts. This action requires another custom Message Action in Drafts called "Message Someone" that I use to send the information via iMessage.

Open this link if you want it installed in Drafts on your iOS device automatically.

Message Someone is a custom Message Action in Drafts that sends iMessage based on the contact's email address.

The "Message Someone" action breaks down the information sent to Drafts into three separate [[line|n]] contents: the contact's email address, the event description, and the Fantastical URL scheme. Then, it uses them to craft the message.

Open this link if you want it installed in Drafts on your iOS device automatically.

Custom Action #3: Delegate a Task via Email and Add the Task in Silo

Another interaction that I typically have in my day job is delegating tasks to my team members. While I'd prefer to use iMessage for this, many of them are not Mac/iOS users. Instead, I decided to use Slack for our team communication. But again, some of my colleagues still use Blackberrys or feature phones. The only way for me to effectively delegate tasks to them (while I'm on the go) is via email.

Mingle provides a new approach for this use case. Now, I can just start with the person I want to delegate the task to, swipe right and trigger a custom action. I create an action that will add the new task to a list in Silo named "Delegated Tasks", and send an email to that person containing the new task.

Here's the Mingle custom action that I create for this purpose. It uses the contact's [displayName] and [email] information. And, it will invoke a custom URL Action in Drafts named "Delegate and Notify".

And, here is the "Delegate and Notify" custom URL Action in Drafts. This action requires another custom Email Action in Drafts called "Delegate Task" that I use to send the information via email.

Open this link if you want it installed in Drafts on your iOS device automatically.

Delegate Task is a custom Email Action in Drafts that will send an email with subject prefix "New Task", and a task description inside the body template.

The "Delegate Task" action breaks down the information sent to Drafts into three separate [[line|n]] contents: the contact's name, email address, and the task description. Then, it will send an email with the subject "New Task: [task-description]", and insert the task description in a special body template.

Open this link if you want it installed in Drafts on your iOS device automatically.

Custom Action #4: Send a Slack message via Zapier

I mention earlier that I use Slack for team communication in my day job. I setup a channel where all of my smaller team members are included (called #technology). Fortunately, everyone in my #technology team have access to Slack on their mobile phones.

Again, one of my most frequent use case (while I'm on the go) is to delegate tasks to the team. With Mingle's [IM:] tag, I add everyone's Slack nickname to their contacts, and setup a special Zap in Zapier that allows me to convert an email into a Slack message.

Note: Zapier is a web service similar to IFTTT. It has premium plans and covers a much broader services compared to IFTTT. A Zap in Zapier is like a recipe in IFTTT. I'd recommend you try the free plan which allows up to 100 tasks/triggers per month.

I create this Zap to parse the incoming mail to a custom Zapier email address and post the body as a Slack message to the channel named in the email subject. For example, if I send an email with #technology as its subject, Zapier will post the email's body as a new Slack message in the #technology channel.

And, here's the Mingle custom action that I create to trigger the entire chain. It grabs the [IM:Slack] information from the selected contact and send it alongside the prompted message. This action will trigger a custom Email Action in Drafts named "Slack".

Slack is a custom Email Action in Drafts that will send the Drafts contents into an email with subject #technology - aimed at a special Zapier's email address dedicated to convert incoming mails into Slack messages.

Open this link if you want it installed in Drafts on your iOS device automatically.

The "Slack" action is relatively straightforward. It sends an email containing the entire message to a pre-defined Zapier email address. I choose to include a carbon-copy to my personal email address to verify later whether the Zapier's email forwarding works flawlessly.

Watch video trailer of Mingle on Vimeo

My Wish List

Mingle has a very promising future. Comparing its 1.0 version to mature apps such as Launch Center Pro and Drafts is a bit unfair. But, I do have a few items on my wish list for future versions of Mingle.

  1. The ability to add/edit contact information. The 1.0 version will prompt you to enter an information (such as [IM:Slack]) if the selected contact doesn't have it, and save it to the contact details. But, this is not enough. I really want Mingle to completely replace my need for the built-in Contacts app.
  2. Automatic prompt for multiple [phoneNumbers] and [emailAddresses]. Many of my contacts have more than one phone numbers and email addresses. The 1.0 version will use the first one it finds. It would be great if Mingle can show a prompt similar to Launch Center Pro's [list] to allow the users to select the phone number or email address at runtime.
  3. Support for TextExpander snippets.
  4. Better in-app URL Schemes. At least, I'd need a parameter to set the body/text for the mingle-message://, mingle-email://, and mingle-tweet://.
  5. Support for built-in encoding function, such as {{..}}.
  6. Ability to save more than four custom actions, even though only four of them will be used for a given time period.
  7. Ability to easily share and import custom actions.
  8. Favorites. I need a better way to access my most-frequently accessed contacts, either via a Favorites tab or by showing them on top of other contacts for easy selection.
Even though you're limited to only four custom actions, Mingle 1.0 has plenty of great built-in actions to satisfy most needs.

Conclusion

Mingle is a fresh way to automate some of your iOS interactions. It opens up a set of new possibilities, especially ones that are based on your contacts. I'm looking forward to its upcoming updates.

Get Mingle on the App Store: iPhone | iPad

You should follow me on Twitter here.