Write Every Day With Siri Shortcuts and Day One
Want to know how I developed a 3+ year daily writing habit? Follow this guide to build a Siri Shortcut, and you’ll write every day, too!It’s no secret that I’m a huge fan of the Day One app. I write in the app every day. At the core, Day One is a journal app. It supports end-to-end encryption, media embeds, tagging, templates, and more. Day One is essentially a private blog. For this reason, the app and team were acquired by Automattic, the company behind WordPress.
My first Day One entry was saved on August 1, 2012. Since then, I’ve amassed 3,466 entries across 2,729 days. I’m currently supporting a 1,264-day streak of daily entries.
Shortly after Siri Shortcuts launched in iOS 12, Day One supported the new protocol to generate entries. Partially to learn about the capabilities of Shortcuts, I created a Shortcut to support my daily entry habit. Over time, the Shortcut has grown into a highly detailed, randomized template generator.
My Shortcut, currently at 157 actions, randomly generates a title, 3 questions, the daily cover for the New York Times, and pulls data from 9 different records from the Health app. All of this information is combined, written in Markdown, and exported as a new daily entry into Day One. I run the Shortcut on my phone and then write the entry on my iPad. I’ve been using this exact process to write every day for more than 3 years!
Today, I’m sharing all of the details about my complex Shortcut with you. Daily journaling, or personal blogging as the WordPress team calls it, helps me process the day and grow as a writer. I recommend journaling to every writer I connect with. Now, you can build your own Siri Shortcut and customize your randomized daily entry template to fit your own needs.
Introduction
While moving through the different sections, I use the following formatting to make things as clear as possible:
Step Number. Action Heading: Action "Setting" 'Recalled Variable'
Throughout, any callbacks to previous variables are shared in single quotes, such as 'Question 1'
.
It’s also important to use a Nothing
action after every section. For example, this command prevents any information not set in a variable from carrying to the next section.
Location
The first section determines your current location and saves it as a variable.
1. Location: Get current location
2. Variables: Set variable "Location" to "Current Location"
3. Nothing
Date
The second section determines today’s date and saves it as a variable.
1. Date: Current Date
2. Calendar: Format "Date" (set to your preferences)
3. Variables: Set variable "Date" to "Formatted Date"
4. Nothing
When using the Format "Date"
action, select Show More
to format the date based on your preference. Apple provides a few basic options, like Short
(6/15/21), Medium
(Jun 15, 2021), and Long
(June 15, 2021).
Shortcuts also supports Unicode date patterns by selecting Custom
and defining your own option. In the next section, I use a custom format to define Stardates.
Title
Siri Shortcuts provide a powerful way to randomize content. Randomization enables this Shortcut to provide a unique template every time it’s run.
Using a handful of If
actions, this section randomly generates a title from a predefined list of choices. Feel free to expand the list of choices by adding your own potential tiles, one per line. The randomly chosen result is saved as a variable.
1. Text:
Describe today in three words:
Finish this sentence: Today was...
Title your entry:
Use one word to describe your day:
Use today's date:
Use today's stardate:
2. Text: Split "Text" by "New Lines"
3. Scripting: Get "Random Item" from "Split Text"
4. Scripting: If "Item from List" contains "Today was"
Scripting: Ask for "Text" with "Finish this sentence": (Default Answer: "Today was")
Otherwise:
Scripting: If "Item from List" contains "Use today's date:"
Text: "Entry for 'Date'"
Otherwise:
Scripting: If "Item from List" contains "Use today's stardate:"
Text: "Stardate 'Current Date'"
Tap 'Current Date'
Date format: Custom, YYYY.DD)
Otherwise:
Scripting: Ask for "Text" with "Item from List"
End If
End If
End If
End If
5. Text: Change "If Result" to "Capitalize with Title Case"
6. Variables: Set variable "Title" to "Updated Text"
7. Nothing
Note that an additional set of If
actions add additional parameters to the randomly selected title. For example, if the Startdate option is selected, additional actions run.
It’s also worth mentioning that the Startdate action recalls the existing variable and then modifies it for use. You can do this with most actions by choosing the Show More
options.
Questions
This section is the meat and potatoes of the entire Siri Shortcuts. Using the same randomization technique from the Title section, the Shortcut pulls the selected question and sets them as a variable for the template. Asking different questions is how stay interested in writing every day.
You can add as many questions to the text block as you’d like. However, when adding randomized questions, make sure there is only one per line.
1. Text:
What happened today?
How do I feel about today's diet?
What do I need to do tomorrow to accomplish my goals?
(add your question(s), one per line)
2. Text: Split "Text" by "New Lines"
3. Scripting: Get "Random Item" from "Split Text"
4. Variable: Set variable "Question 1" to "Item from List"
5. Nothing
(Repeat 1-5 with additional questions as desired.)
Feel free to replicate this entire section as many times as you want. Just remember to change the variable each time. For example, my daily Shortcut has three randomized question blocks which set variables Question 1
, Question 2
, and Question 3
, respectively.
Entertainment Report
I like to take notes on everything I watch and read. Dubbed the Entertainment Report, this section provides a simple template to capture notes, analyze stories, and keep tabs on my entertainment habits. Since this section generates a template, it’s the easiest of all to implement.
1. Text:
#### Entertainment Report
?
?
2. Variables: Set variable "Entertainment Report" to "Text"
3. Nothing
I delete this section in Day One on days I don’t read or watch anything (rare, but they do occur). The Shortcut used to ask to include the section or not, but it added about a dozen actions and wasn’t worth it when I included the section more often than not.
Again, the key to writing every day is developing a template you enjoy using. So, customize the Shortcut to meet your own needs.
NYT Cover
Brian Renshaw developed a fantastic Siri Shortcut that pulls today’s New York Times cover image and saves it to Day One. In this section, I use Brian’s shortcut but save the cover image as a variable to use later in the Shortcut.
1. URL: "static01.nyt.com/images/'Current Date'/nut front page/scan.pdf (note, use the 'Current Date' variable, do not copy the text 'Current Date')
Tap 'Current Date'
Date format: Custom, yyyy/MM/dd
2. Network: Get contents of "URL" (Method GET)
3. Media: Convert "Contents of URL" to JPEG
4. Variables: Set variable "Photo" to "Converted Image"
5. Nothing
Be sure to recall the Current Date
variable in the URL
action. Just as with the Stardate action above, customize the date formate for this specific instance of the variable. Here, you want to use yyyy/MM/dd
format to match the New York Times URL pattern.
Health Data
If you’re like me, you have a ton of data in your Health app. This section pulls selected data to add to the Day One entry.
Since iPad and the Mac (once Shortcuts launches later this year) do not have the Health app, this section first checks to see if the Shortcut is running on an iPhone. If it’s any other device, the entire section is skipped.
Further, if any of the requested health data is not stored in the Health app, that value is skipped. Everything available is saved to a unique variable, combined into a formatted text section, and then saved as a new variable.
1. Device: Get the Device Model
2. Scripting: If "Device Model" contains "iPhone"
Health: Find "All Health Samples" where
Filters:
Type is "Walking + Running Distance" and
Start Date "is today"
Unit: "mi"
Group by: "None"
Sort by: "None"
Limit: "no"
Math: Calculate the "Sum" of "Health Samples"
Scripting: If "Sum" "has any value"
Math: Round "Sum" to "Hundredths"
Text: "'Rounded Number' mi walked"
Otherwise:
End If
3. Variables: Set variable "Distance" to "If Result"
4. Nothing
(Repeat 1 - 4 with additional Health data as desired)
5. Text:
#### Health Data
##### 'Distance' (add additional variables set for Health Data)
6. Variables: Set variable "Vitals" to "Text"
Otherwise
7. Text:
8. Variables: Set variable "Vitals" to "Text"
End If
9. Nothing
It’s important to make sure every level of the If
action is properly placed. Otherwise, the Shortcut will fail.
There are dozens of Health Data Samples stored in the Health app, which Shortcuts can access. Repeat steps 1 – 4 in this section with as many datasets as you desire. Remember to set unique variables for each one and then recall them in step 5.
Template
The final section builds the entry template using all the previously saved variables and arranges everything using Markdown.
1. Text:
# 'Title'
'Vitals'
#### Question One
### 'Question 1'
(Repeat with additional questions as defined above)
'Entertainment Report'
2. Day One: Create entry with "Text"
Media: 'Photo'
Location: 'Location'
Show In App: 'On'
The final step creates the entry and opens Day One. When selecting Show More
, you have the option to recall the variable with the New York Times cover and your current location.
After running, the Day One app opens with your entry. There, you can answer your questions and add additional photos as you desire.
If you’re not a fan of Day One, you can swap the final action out with any supported app. I’ve also tested this Shortcut with Bear Notes. The Shortcut also works with Apple Notes, but some of the Markdown formatting does not.
There you have it. I hope you find this guide helpful to generate your own daily Day One entry template. Add your own questions, swap out sections, and get creative. The key to writing every day is finding something fun that spurs your ideas. Make this Shortcut your own, and you’ll be on your way to a 1,000-day streak in no time.