Services – Quick Actions (Automator) Scripts! by J

Service (older) Quick Action (newer): A workflow that you can add to Finder windows, the Touch Bar, and the Services menu. For more information about using Quick Action workflows, see Use Quick Action workflows on Mac.

 

See also MacDev! MacOS! Development (jandp.biz/is/dev/sw/macdev/) for important notes around problems around Security.

Services, Workflows – Automator-based (macOS)

Common pattern

In many cases, start with writing a shell script / command line interface (CLI) tool/executable, then create some small wrapper code for GUI use in applications / Finder.

I.e.

  1. Implement core functionality in CLI tool, e.g. mime-tool-by-j.sh
    1. That can be used in terminal – gred for both development, using flags for verbose outputs, et c, as well as actual use when anyway down there in terminal windows.
    2. Save such in $HOME/bin/ (a subdirectory I’ve had a habit to alway have since maybe around early 1990s on every computer worked with)
  2. Wrapper: as appropriately.
    Creating a Quick Action in Automator app, e.g. Save Web as mhtml J

    1. Quick Action to make tool available via
      1. <App> menu under Services> submenu
      2. As applicable (depending on functionality, how tool has been implemented) possibly in
        1. Finder’s popup menu under Quick Actions, OR
        2. Finder’s popup menu under Services
          which depend on generation of macOS….. NOT the best solution and Apple should fix this….!!!
    2. Most often writing most of code in AppleScript but it happens using other means like bash
    3. Tool that in turn call CLI utility, e.g. mime-tool-by-j.sh

Gotchas / Issues

  1. General: Often start a new script/tool based on some existing, AND OLD code for copied tool may still be around, which can be confusing… NOTE: most scripts created are ONLY intended for my personal use.
    1. And in many cases lots of Work In Progress until a more stable set of pieces works well.
    2. Time that can be months, as lots of work is done when get focus for some period.
  2.  CLI-tools
    1. Such may be using commands that are not standard macOS but downloaded in various ways over many years and lost track if standard or added by myself, and also where such may be stored
    2. via applications (code within apps that are ‘re-usable’ / can be used via CLI/scripts)
    3. brew … (and other download managers)
    4. python ecosystem – yeah…. that also happens, and opens up THAT area of quagmire.
  3. AppleScript: keystrokes (e.g. of areas of issues)
    1. Controlling applications via AppleScript can be really messy when get into some more advanced things like controlling dialogs.
    2. Must give apps rights via System Settings > security … (don’t remember exactly what to do where just now….)
    3. More below in Troubles-Problems section below.

That’s it for now – more a starting point of potential issues.

 

Scripts! by J

❓⚠️ ✅

2026-09-29: Started including info related to macos 27.

2026-10-03: Started using color indications to highlight DISCONTINUED #ffcfcf, verified working (macOS27) #d7fcac,

col 0 Product, What Type External(s) Current
ver info
macOS 27
(1) Activity Monitor – check for … suite Application 2026-01
(2) Audible Etc DRM JS Service bash-script 2024
automator-cleaner-js (bash, 2025-10-17) CLI script bash-script 2026-01
AutoTrash! AutoTrash by J, TrashIt! WIP–NOT-FINISHED Service, Quick Action WIP
Camera Uploads! organizer (Dropbox folder) Service Automator Workflow Folder Actions Folder Action no 2024-12; v4.2 (DISCONTINUED 2026-07-23, after some 9 years of use; v1 2017-08, now replaced by FolderActionsBashJ.)
check-change-js.sh script CLI script –
chmod util, for unzipped zip archives etc CLI script –
cloudfilestatus-js.sh scripts CLI script 2026-06; v1.0
convert_mp4_to_m4a.sh script CLI script 2025-04; v1.0
Copy Path as Text J Service, Quick Action 2025-11; v1.0
Count Apps & Windows CAW! (R&D) Application 2024-11; v2.2 ✅ Got dialog: ‘“Count Apps & Windows App J CAW v2.2.app” wants access to control “System Events.app”. Allowing control will provide access to documents and data in “System Events.app”, and to perform actions within that app.’
Answered: Allow.
And it works!
create disk image Service
daytime-js.py script CLI script
Dropbox-Mover-J.workflow (Folder Action) Folder Action 2026-04; v1.0
Email Archive2FS, Email-related Automator-Services Emails!

Email Low-level Msg Info (originally ‘Low-level Email Msg Info’)

set of tools

workflows / services + one ‘core’ (app in v5)

2026-04; v4.3
2026-09; v5.0
⚠️ Got into problems (with both Full Disk Access and controlling system, and running find terminal command) and got quite messy research, discussing w/ ChatGPT, and eventually ended up a major rewrite (2026-09-24+25), from workflow to application, as the latter CAN be given access rights. NOT A TRIVIAL CHANGE Apple has done in the background…..
✅ v5 gen works – thank god could fix it, very frequently used.
Email Stats J Service, Quick Action ⚠️ Broke in macOS27 (not fixed yet, per 2026-10-03. ###TODO)
eml to html script eml! html!
emlx-to-eml-by-j emlx! eml! Quick Action
File System Tests, J
Finance Tagger by J
find-apps-js.sh script
Finder Windows Utility
Folder Actions! info, scripts
Folder Organizer J Folder Organizer! MISC … Folder Action (DISCONTINUED 2026-07-23, after almost 2 years of use; v1 2024-04-05..v2.2 2026-07-23 but then replaced by FolderActionsBashJ.)
folder_organizer_by_j.sh bash script CLI script v1.1 2026-10-04 ✅ Works fine in macOS27 (v1.0 2026-07-29)
(ONE tool that can be use in FolderActionsBashJ.workflow
v1.0 2026-07-29 impl “1level” AND “3levels”)
FolderActionsBashJ.workflow Folder Action v1.1 2026-10-04 ✅ Works fine in macOS27 (v1.0 2026-07-28)
(FolderActionsBashJ 2026-07-28+ replaces ‘Camera Uploads’ and ‘Folder Organizer J Folder Organizer’)
Get Info – Quick Action (2021-10) Get Info!
Get Info by J, Info by J
Go Finder n! Desktop. Downloads, Documents, Dropbox … Open Finder …
GPS Utility by J! gpsutil-js.sh!
GPS Utility by J.workflow
gpsutil-js.sh
Quick Act.
CLI script
v1.1 2025-07-15
v1.1 2025-07-15
✅ Works in macOS27
GPX! gpxparser! alias
Hash It by J
hellow-j.sh bash script
iCloud-Drive-Mover-J.workflow (Folder Action) Folder Action
Image manipulations
JImage scripts services -rotate images, shrinking
macosperf.sh!
Make Alias! scripts
Make Image from Folder J – macOS Service (make-dmg-j.sh WIP)
mdfind-js.sh script
mediafilenamefix-js.sh and MediaFilenameFix-JS SH!
MediaInfo! Media Info! MediaStats! by MLabs
MediaProcJ
MTJ, MediaTranscodeJ..:
MediaTranscode J mediatranscode-js.sh
Workflow
CLI script
v1.2 2026-08-17
v1.1 2026-08-17
✅ Works in macOS27
MFJ, MediaFixerJ:
MediaFixerJ.app
mediafixer-js.sh
App
CLI script
v1.0 2026-10-02
v1.0 2026-10-02
✅ Works in macOS27
mime-tool-by-j mime!
mlabschecker.sh script
mlabstexts.sh script
Move Items to Downloads Folder Action
MS-Ergo4000-…
Music-related; Find Missing J (Apple app); music-util-by-j.sh bash
Navionics-exports-processing! Folder Action bash-script
New Disk Image with Selection – OLD
New Folder – Service
New Note in TextEdit J (Quick Action, Services)
New Text File – Service
Open Hazel.app – tell application “Hazel” to activate Implementation 2 2026-10-03 ✅ i2 (implementation #2) 2026-10, Bash script – based app, to work in macOS27
⚠️ Implementation #1 2026-04, AppleScript-based app failed in macOS27 and can’t even open app for modifications…….
Open in Terminal v1 2016 ✅ Works in macOS27
Open Slack App.app v1 2026-06-03 ✅ (2026-10-03) got to work in macOS27 after some “twiddling around” Calendar app, and open-resave identical app code inside Automator and it get it to start working as expected.  ⚠️ Didn’t work at first, did NOT trigger opening Slack app even if entries in Calendar where there, unmodified, which has been working since Jun 2026.
Open URL in …
Paths-related things (file systems, …)
Pushover! Pushover- Simple Notifications for Android, iOS, and Desktop alias
RWTS-PDFwriter File Mover Folder Action Folder Action
Save PowerPoint as PDF
Save Web Page as mhtml J v2.0 2026-05-18 Quite powerful, but also complex and a bit sensitive, thingy… ⚠️
✅ Works in macOS27
Screenshot! Screenshots! Screen shot – filename-Cleanup – services Folder Action (bash script, from 2018, but inside FA) 2026-04, v26 DISCONTINUED use❗️Not using (Sep 2026) as moved over to using Clean Shot product for screenshots. Prior notes:
v26 gen 2026-04-09 (w Quick Action AND bash-script inside).
Apr 15  2018 ./Screenshot-Filename-Cleaning-FolderAction.workflow/screenshotscleanfilename.sh
Set Icon by J SetIcon!
Special Key Handler … (MS Ergo 4000 kbd) ✅ Works in macOS27 w/o any tweaks – thank god, critical tool for the best keyboard ever.
(MS-Ergo4000-Go-Backward-key, MS-Ergo4000-Go-Forward-key, MS-Ergo4000-Mail-Key, MS-Ergo4000-Search-Key-DUMMY, MS-Ergo4000-Search-Key, MS-Ergo4000-Web-Key, MS-Ergo4000-Zoom2-Minus-key, MS-Ergo4000-Zoom2-Plus-key)
Spotlight Search shortcut
Tag Finder Items Folder Action 2026-05; UT (UT: Under Test)
Time Difference J
Toggle Play user interface sound effects
videodownloader-js! ( yt-dlp-js! CLI yt-dlp! )
WindowArrange-Archive J Service, Quick Action v1.6 2026-10-03 Changed DOCK height handling  ✅ in macOS 27 after tweak for handling window items sizes more reliably (not related to macOS)
(v1.5 2026-07-29 Hide Sidebar also in Finder, CR270723-1)
WindowReopen by J (WRbJ!) WR!    (appl.) Application (with a companion  Service) v1.3.1 2025-10-08 ✅ works in macOS 27 – thank god, very frequently used
WindowReopen by J (WRbJ!) WR!     (srv) Service, Quick Action (with a companion  Application) v2.2 2026-03-30 Brave Browser, some cleanups, performance improvements ✅ works in macOS 27 – thank god, very frequently used
xdone.sh! script
yt-dlp-js .. see videodownloader-js! ( yt-dlp-js! CLI yt-dlp! ) alias
Zoom+, Zoom-, Forward and Backward keystrokes handlers alias

 

Troubles / Problem Areas

Access – Security Limitations, Restrictions

‘Assistive Access’

General research

search.brave.com/search?q=macOS27%2C+for+Automator+Service%2C+how+to+allowed+assistive+access

Granting assistive access directly to an Automator Service is often problematic because services are saved as workflows, which macOS does not allow to be selected in the Accessibility list. To resolve this, you must use a workaround that involves creating a standalone application or authorizing the underlying system agents.

1. The Standalone Application Workaround (Recommended)
The most reliable method is to decouple the automation logic from the service trigger:

  • Open Script Editor and paste your AppleScript code.

  • Export the file as an Application (File > Export > File Format: Application).

  • Sign the app locally if prompted (“Sign to Run Locally”).

  • Go to System Settings > Privacy & Security > Accessibility and add this new standalone application to the list.

  • Create your Automator Service to use the “Run Application” action, pointing it to the standalone app you just created.

2. Authorizing System Agents
If you must run scripts directly within an Automator workflow, you may need to authorize the system processes that execute them:

  • Navigate to System Settings > Privacy & Security > Accessibility.

  • Unlock the pane with your administrator password.

  • Add Automator, Script Editor, and AppleScript Utility (located in /System/Library/CoreServices/) to the list.

  • For Quick Actions specifically, you may also need to add ServicesUIAgent. Locate it by using the path input (Shift-Command-G) and navigating to /System/Library/CoreServices/, then select ServicesUIAgent.app.

3. Troubleshooting Permissions
If permissions do not take effect immediately:

  • Toggle Permissions: Turn the accessibility checkbox off and on for the relevant apps, then quit and reopen System Settings.

  • Target App Permissions: Some users find success by adding the target application (the app being controlled, e.g., Chrome or Finder) to the Accessibility list, rather than Automator itself.

  • Reset Privacy Database: As an advanced step, you can clear the privacy database using the Terminal command: tccutil reset Accessibility. 

 

Full Disk Access

See Privacy & Security > Full Disk Access (In upper section of items in right side.)

 

Control key… “Press Run to run this scropt, or Quit or quit.” – dialogs

SOLUTION/WORKAROUND: Be quick when use shortcut keys combination, don’t hold the Space key for long.

NOT seen earlier, or at least for many, many, years as can’t remember ever seeing BUT started getting dialogs now in Sep 2026:

 

  • When trigger services using keyboard, e.g. Command+Control+Space+S,
    • in a (due to macOS 27) rewritten family of scripts (app, using Script Editor)
  • in macOS 27 – in which I strongly suspect something pertinent has been changed behind the scene

More research:

I.e., it seems to be something that has been around ‘for ever’.

EoP