Airmail Distribution List Management

Good morning!

I am trying to use my iPad Pro as a “daily driver.” I have a Mac mini at home running Hazel, and available if I need to do simple things through Screens (app).

However, I’m having a very difficult time with distribution list management. I manage 50+ facilities and every week I’m adding and subtracting from my lists. My company runs on an exchange server. I do realize that perhaps I could use Outlook for this task.

However, I love the automation friendly nature of airmail. I haven’t found a great way to manage these lists within that app. I use TextExpander, with the lists built by region, but I can’t seem to get it to work once the pick list pops up.

Anyone have a great way to manage distribution lists in Airmail on IOS?


As a first option to consider for Airmail focused solutions, how about using the Airmail URL scheme and passing in the list of addresses via that? You could build the URL via, say, Shortcuts or Drafts, with the list stored in potentially any number of places and thereby maintained through other automation, file edits, etc. You could also look at manual and/or meta data filtering options depending upon the reasons your list is quite so variable.

I think beyond that I’d be looking to the Outlook/Exchange, or a dedicated mailing list solution like MailChimp. It really depends on what your overall needs and drivers are. Whilst Airmail may be your ideal mail client, is it really the ideal solution for this particular task? Maybe. Maybe not.

Hope that helps.

I hear your concerns. I’ll probably use outlook short term.

But it has dawned on me that it could be a great exercise. I like the idea of triggering a shortcut that lets me choose the regions, teams, groups, or facilities that should be included. I’ve also been asked to include a line at the very top of the email to specify who is receiving it. They can’t tell when I use the BCC line to address it.

Obviously I don’t program for a living. This could be an introduction to dictionaries and some of the other basics.

Is this appropriate for shortcuts or is it more appropriate for scriptable? (I’m thinking I’ll try shortcuts first. But obviously I’m near sighted and may not be able to see problems down the road. )

Also, any recommendations for learning resources to get me started with dictionaries?

(Off to experiment.)

What would be the downside of using the TO or CC rather than BCC then; rather than adding an extra line?

For starting out, I suspect Shortcuts will be your best option.

I’ve listed a few things below that should help. Try to keep in mind that dictionaries are like a list / table, with two columns. The key is the first column you use to lookup an item. The right column is the value associated with that key. It is just like the typical dictionary you are used to, with the word being the key and the value being the definition.

Unlike ‘real world’ dictionaries, rather than just one type of value, a dictionary can store things as a few different types beyond text (though fundamentally it can always be expressed as text). This actually allows a dictionary to contain a value of another dictionary, which rather than being an Inception nightmare allows you to structure and represent more complex sets of data.

Hope that helps.

Thank you so much. I think I stumbled on the Dictionary example in my various research yesterday

The advantage of a BCC address is that it defeats the “reply all” button. For example, I send an email at the beginning of the week announcing my schedule and locations for the rest of the week. Someone replies all saying “we’re looking forward to seeing you on Wednesday.” Another replies all asking what time I’ll arrive at their facility, and others start asking questions that have come up recently. The widest list has about 250 people. So I can easily generate over a thousand emails in a very short period of time. If I address it to myself and use the BCC line, replies only come back to me.

I began structuring my dictionary in JSON in Drafts. Visually its allowing me to see the nested components.) I took a brief JavaScript course on Udemy after downloading Scriptable. The info didn’t directly transfer, so I’m still struggling with using it for automation. Although perhaps I understand web pages a bit better now.

(Dumb question #(lost count) If I build a nested dictionary (ie. does a single Save to JSON save all of the dictionaries contained therein?

Is it considered generally better to build small dictionaries and read each one into a larger dictionary at runtime, or just to build a larger complex dictionary? In shortcuts, I’ve read that the number of steps impact the time it takes to execute the shortcut. Does the size and complexity of this type of data impact the duration?

I’m also thinking that I can maintain a list at some location on iCloud. Then I can write an automation to build the dictionary from that list and Save it to JSON. Then I can call upon it when I trigger my shortcut to address an email. I even read a suggestion to write a second shortcut (called by the main shortcut) to check the date on the current JSON file, and rebuild it on the first run of each day to keep everything current. If the date is current, then skip that Run Shortcut step.

Thanks so much. I found the research yesterday intriguing and interesting. Always great to learn new things. I understand I’m swatting a mosquito with a sledgehammer here.

1 Like

When you save the dictionary, it saves the data in that dictionary and since all dictionaries within it are just data … just save and all done.

You should simply build dictionaries to suit your needs. There are always pros and cons to read and write large volumes of data vs. small ones, number or reads, available memory, etc. I think for most people in Shortcuts, just whatever feels right at the time will be fine.

If you save the dictionary to file as JSON, you can indeed store it outside the Shortcut, and if you want it available to multiple shortcuts and apps that is a good idea.