Tweaking the Movie Diary

When you mix two personal things together, there's no size to fit all possibilities. Everything you automatize is personal, so as your journal, it is only fair to say you should want to tweak it to your tastes. The Movie Diary workflow is one of those cases and I'm going to help you customize it to fit how you want to file your movies.

At first, we must find out the things we're able to pull off from the MovieDB API. This link will take you to the place we want in the documentation. Tap the large GET button to open an example of the API response. Here's a snippet:

  "imdb_id": "tt0137523",
  "original_title": "Fight Club",
  "overview": "A ticking-time-bomb insomniac and a slippery soap salesman channel primal male aggression into a shocking new form of therapy. Their concept catches on, with underground \"fight clubs\" forming in every town, until an eccentric gets in the way and ignites an out-of-control spiral toward oblivion.",
  "poster_path": "/2lECpi35Hnbpa4y46JX0aY3AWTy.jpg",
  "release_date": "1999-10-14",
  "runtime": 139,
  "status": "Released",
  "tagline": "How much can you know about yourself if you've never been in a fight?",
  "title": "Fight Club"

We're going to pick the original Movie Diary and include the synopsis, which is the parameter overview in the example above. Go to Workflow, duplicate your Movie Diary1 and open the copy, scroll down until you start finding a pattern of Get Variable for MovieDB, it happens multiple times and ends up setting a different variable.

Check the API's documentation to find out other data you can request.

Below that example, let's summon the MovieDB variable again, ask for the overview value, then set it to the Overview variable. That's it, now you can scroll down to the bottom and include the synopsis to the Day One output.

Adding the cast

If you looked into the documentation, there's no cast in the first API response, you need a different request for it, which we do in the action to grab the director's name. You can see the bit I'm talking about below, we're going to save that dictionary as the variable Credits and pick the top 3 actors/actresses from the cast.

After we set the Director variable, invoke the Credits and get the value for the cast key, use a Repeat action set to 3 times2. Within the repeat block, use Get Item from List and select the Item At Index option, in the Index field, insert a variable, scroll to the bottom of the list to find its own index. Below, get the value for the key name and add it to variable Cast. Following the Repeat block, get the Cast variable, combine the text with commas and set the variable Cast again, this will ensure our cast is properly formatted.

Use Repeat's own index to loop through a limited number of cast members.

You can always just download the workflow and see what we've done yourself, there are also a few other optimizations to the workflow I hope you enjoy.

Working with Evernote

Some folks asked for a version that used Evernote instead of Day One. Duplicate the workflow and open it, find the Get Value for Key action that looks for poster_path, after the Get Contents of URL action, set the variable Output. Scroll to the bottom and edit the Text action that defines what we'll send to Evernote. You won't be able to create a table for Evernote, therefore, you must change how you format the result. I set a couple of headers and italics and use the Make Rich Text from Markdown to serve Evernote, add this to the Output variable and Create New Note (in Evernote) afterwards, edit the details as they please you.

Replace Day One with Evernote to fit your daily journal

The movie poster should appear as the thumbnail for the note, it doesn't show up consistently across devices in my tests, but it is there, don't send me support requests about it. You can download the Evernote Movie Diary here.

  1. Tap the Edit button, 3 buttons will appear on the opposite corner, select the Movie Diary and tap the middle one to duplicate the workflow. 

  2. Or more, really, it is your journal. You can tap the "Repeat X times" and even select a variable to it.