OS X Services allow sharing data and capabilities across applications. They are invoked by the user either through the active application menu's "Services" submenu or via keyboard shortcuts, typically to act on the data selected in the currently active application.
Note:
- OS X Services are user-facing and user-initiated functionality, unlike what the term "service" may suggest.
- This tag is the equivalent of the "services" tag on Ask Different.
OS X Services (formerly: System Services) allow a user to access the functionality of one application from within another application.
They can be conceptualized as the GUI analog to pipes in shell commands: a user-initiated way of passing arbitrary data from arbitrary applications to specialized applications that advertise services capable of handling such data.
Typically, a service invoked by the user acts on the current selection of the active application; for instance, the built-in "Look Up in Dictionary" service - available while any application in which text is selected is active - looks up the selected text in the Dictionary application.
A user typically invokes a service in one of two ways:
From the active application's menu, via
(application-menu) > Services > ...
- only services applicable to the state of the active application (presence or absence of selected data and their type) will be presented.Via dedicated keyboard shortcuts assigned or activated at
System Preferences > Keyboard > Shortcuts > Services
; there you can also opt to persistently deactivate services.
Service providers:
OS X comes with several services built in.
Applications can define their own services (and consume other applications') via the Cocoa API (AppKit framework).
It is also possible to build services stand-alone, outside of any application, which is most easily achieved with Automator, the standard workflow-authoring tool.