Workflow: Use Drafts and Launch Center Pro to Send a Message with Embedded Reminder for Due

Over the past 10 days, I have written two posts discussing two of Due's excellent features: full x-callback-url support and the ability to store tappable URL as a part of the reminder title. There are plenty of other features in Due that I haven't discussed, and one that I really like is the ability to share a reminder as a public URL. This feature allows anyone with access to that URL to add the reminder into their own copies of Due.

Tapping on the Message button would generate the short URL for the reminder.

You can share this public URL on your website, send it via iMessage or email, or even tweet about it. To create a public URL for the reminder that you have in Due, simply open the reminder and tap the Message button. The app will attempt to connect to its server side and generate a short URL that represents your reminder.

Here's a reminder in Due that I created to remind me to watch the upcoming WWDC 2013 keynote. You're welcome to add this to your Due app to be reminded as well. Since Due has an excellent support for timezone, the reminder will be shown in the correct timezone wherever you are.

Opening the short URL in Safari for iOS would automatically redirect you to Due with a prompt to add the reminder.

If you open that link on your iOS device, it would open a Safari page and automatically redirect it to Due to prompt you to add the reminder. This is a neat and useful way that you can use to promote your upcoming public event and allow anyone who's interested to easily add a reminder in their copies of Due.

The Need to Remind Someone Else

As the above example shows you, it's relatively easy to share any of your reminders with someone else, or even with the public. Yet, I have many use cases where I want to remind someone else - but not myself. I don't even want it in my reminder. If it were in my reminder, it would be listed as "Remind someone else to do something".

Instead, I would typically send a message containing the request. For example, I would remind my wife to "Pick up the kids at 1 PM", or my teammate to "Finalize the presentation at 3.30 PM". Both use cases show that they don't belong in my reminder, instead in these individuals' reminders.

Sending the message should be as simple as writing who the recipient is and what the message is.

It would be great if I could create a post in Drafts with the first line showing the recipient's email/iMessage address, and the message in the next line; then have it magically generate an embeddable Due URL to add the reminder. I don't want to use the short URL approach for this use case, because:

  • The short URL can only be generated from a reminder that's already created in Due. For this use case, I don't want to create that reminder. Again, it's not even my reminder.
  • The short URL requires an Internet connection to resolve the URL to Due's server. If I were to use a URL scheme embedded inside an SMS (text message), I still want it to work even when the recipient has no Internet connection available.

So I went ahead and compared four different ways to send the message via iOS URL Scheme. The requirement I had was to have both the recipient and the body to be configurable at runtime.

  • iOS has a built-in sms:[[address]] URL scheme that allows you to send an SMS/iMessage with a configurable recipient. But, there's no way to send the message body in the URL. I would have to use Drafts' [[clipboard]] tag to store the message body in the clipboard, and paste it manually in the iMessage window.
  • Missives allows you to create an iMessage template where you can send the message to a pre-defined set of recipients with a pre-defined message body. You can override the message body at runtime, but unfortunately you can't override the recipients at runtime.
  • Drafts has a built-in Message Action that also allows you to create iMessage/SMS templates. But, unfortunately you can't use the [[title]] tag inside the recipient field.
  • Fortunately, Launch Center Pro has an In-App Messaging URL that allows you to send a message with configurable recipient and body at runtime.

Here's the custom URL Action that I created in Drafts for this purpose. I named it Remind Someone:

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

Just before you hit the send button inside Launch Center Pro, you can still tweak your message if you want to.

The above action appends a Due URL at the end of your message, and send it to Launch Center Pro. The recipients can still see your message first, and then decide whether they want to add it as a reminder in their copies of Due. With a simple tap in the URL, they will be redirected to Due and save it as one of their reminders. No manual data entry is required on their parts.

This action works best among teammates who each already has a copy of Due on their iOS devices. If you accidentally send it to someone who doesn't have Due, consider it as a chance to promote Due and iOS URL Schemes.

To find my other workflows, please visit my Productivity and Workflows blog.