There are a few ways to have a script execute and “do its thing” with Capture One. From easiest to hardest:
Copy the script to the CO scripts folder.
Simple scripts can be run straight from Capture One’s application script folder. Once installed, these will appear as a menu item in Capture One and is executed by selecting it like any other menu item (this method works well if you want to shortcut your scripts, as per the shortcuts article here).
To use this framework:
Open the scripts folder from inside Capture One (or navigate to ~/Library/Scripts/Capture One Scripts/)
Copy your scripts into this folder. If you copy in sub-folders containing scripts, then these will automatically be represented as drill down menus in Capture One.
Once added, choose, “update scripts menu” from inside Capture One to make sure the scripts are loaded.
Scripts should now show as menu items. You can add shortcuts to these manually as per the How to shortcut almost anything in Capture One
Save the script as an “app”
This can be run from applications (and can be added to, and launches like, any other app from the dock).
Script Applets are effectively an encapsulated script plus all the necessary bits and bobs. If your script requires to be self contained – like an installer containing all you resources, uses other libraries or even app artwork like icons etc, then this is the solution. This is in effect a very simple version of what real developers ship in commercial software.
Script applets can also be saved in the CO menu and run just like a script, so this is the best solution for commercialising scripts. We will use this method for the shortcut installer project.
See the article on making applets here.
Set it as an event.
Capture One has a number of events: things like capture did happen, processing finished, etc. You can utilize these to trigger your script: e.g. Processing finished, email Roger in retouch to say his images are ready on the server. This happens sudo-magically, at least, once set. Capture One will just call your script automatically every time the specific event occurs. But there is a bit more work to get to that point… perhaps this is an article for for another day.